我坚持使用Django中的第一个应用程序。 基本上它将是网页上的几个对象,每个对象都有输入形式。如果要输入用户类型和电子邮件地址,则应将此对象标记为'保留'。
我尝试了几种解决方案(可能因为这种多解决方案,但没有一种解决方案)。在开始时,我使用AJAX来更新对象的状态并且它有效,但是当我实现电子邮件地址输入时,它失败了。所以我发现我应该放弃AJAX并继续使用ModelForm。
所以现在我的工作代码看起来像这样:
urls.py
urlpatterns = [
url(r'^$', views.index),
url(r'^occupy/$', views.occupy, name='occupy'),
index.html
{% for gift in gifts %}
<div class="panel-heading">
<h2 class="panel-title"> {{ gift.name }}</h2>
</div>
<div class="panel-body">
{{ gift.link }}
<form role="form" action="" method="POST">
{% csrf_token %}
{{ form }}
<input type="submit" value="szukaj" name='q' data-id="{{ gift.id }}">
</form>
</div>
{% endfor %}
models.py
class Gift(models.Model):
name = models.CharField(max_length=100)
link = models.URLField(max_length=100)
email = models.EmailField(blank=True, default='')
occupied = models.BooleanField(default=0)
forms.py
class ContactForm(forms.ModelForm):
class Meta:
model = Gift
fields = ('email',)
views.py
def index(request, id):
gifts = Gift.objects.all()
form_class = ContactForm()
if request.method == 'POST':
occupy(request)
def occupy(request):
print('hrj')
gift_id = request.GET.get('gift_id', None)
if (gift_id):
gift = Gift.objects.get(id=int(gift_id))
我猜这部分还可以,但我缺少数据流(电子邮件和ID)。 任何帮助将非常感激。