传递对象ID以从表单提交中查看

时间:2018-07-24 03:21:43

标签: python django django-models django-forms django-templates

我有一个网站,其中显示用户提交的条目,并具有upvote个计数以及一个可以自己对其进行投票的按钮。这些由Entry模型表示。如何传递用户投票给视图的特定Entry实例的ID?

html:

{% for entry in entries %}

<div id="upvote_count">
  <form action="upvote" method="GET">
    {% csrf_token %}
    {{ entry.upvotes }}
    <button id="upvote" type="submit">Upvote</button>
  </form>
</div>

    {% endfor %}

models.py:

class Entry(models.Model):
    #... 
    upvotes = models.IntegerField( blank = True, null=True)

当前网址:

url(r'^upvote$', views.upvote),

1 个答案:

答案 0 :(得分:0)

您可以将其传递到隐藏的input中,例如:

<form ...>
...
<input type="hidden" name="id" value="{{ entry.id }}">
<button ...>
</form>

并在您的视图中访问它:

def upvote(request):
    entry_id = int(request.GET.get("id"))
    ...