我遇到了一个我无法完全解决的问题。
我有一个模型Question
,其中包含一个声明,有关提出要求的用户的信息,以及有关投票数和无投票数的信息。
在模板中,我的情况类似于以下情况:
{% for question in list_passed_with_questions %}
<p>{% question.statement %}</p>
<form method="post">
{% csrf_token %}
{{ vote_form.as_p }} #vote_form makes the user choose between 'yes'/'no'
<button type="primary">Think</button>
</form>
{% endfor %}
我的目标是能够知道每位用户投票选出的question
。假设我的list of questions
中有一个template
,每个form
都允许用户投票 - 那么我怎么知道用户在{{}}中使用了哪一个投票? {1}}?无论views.py
是vote_form
还是Form
实例,ModelForm
都只包含有关用户的是/否选择的信息(也就是说,它不包含例如问题的request.POST
。
解决此问题的一种方法是让pk
引导至新submit button
,并将问题的url
作为pk
传递。
我的另一种方法是指定通过slug
的{{1}}字段
现在 - 除了更改hidden-input
和允许question-object's pk.
之外,我还可以使用另一种方法来区分各种questions
吗?
此外 - 如果我确保验证url
,并检查通过该hidden input
的{{1}}是否属于hidden input
允许用户投票,这是一个负责任和安全的方式吗?
答案 0 :(得分:0)
另一种方法是使用AJAX
<button type="button" onclick="Voting(vote, pk)">Think</button>
此外,AJAX允许您在不进行页面刷新的情况下与服务器通信