Django - 通过id更新用户输入的模型

时间:2018-06-02 13:01:49

标签: python django

我坚持使用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)。 任何帮助将非常感激。

0 个答案:

没有答案