Django 尝试按id接收时,request.POST.get(变量)返回None
好吧,帮帮我,我快疯了 我有4个问题,每个问题的单选按钮名称设置为问题id,值设置为答案id以获取答案id,并使用它获取用户提交的答案,以检查其是否正确 views.pyDjango 尝试按id接收时,request.POST.get(变量)返回None,django,django-views,django-forms,django-templates,Django,Django Views,Django Forms,Django Templates,好吧,帮帮我,我快疯了 我有4个问题,每个问题的单选按钮名称设置为问题id,值设置为答案id以获取答案id,并使用它获取用户提交的答案,以检查其是否正确 views.py def sampleQuestions(request): if request.method == 'POST': user = request.user userInformation = UserInformation.objects.get(user=user)
def sampleQuestions(request):
if request.method == 'POST':
user = request.user
userInformation = UserInformation.objects.get(user=user)
allAnswers = Answers.objects.all()
allQuestions = Questions.objects.all()
i = 0
for q in Questions.objects.all():
print(q.id) #returns 1
answerID = request.POST.get(q.id) #returns None
print(answerID)
answer = Answers.objects.get(id=answerID)
print(answer)
template.html
{% for q in questions %}
<table>
<tr>
<td> {{q.question}}</td>
</tr>
{% for a in answers %}
{% if a.answerForQuestion == q%}
<tr>
<td> <input type="radio" name = "{{q.id}}" value="{{a.id}}"> {{a.answer}}</td>
{{q.id}}
</tr>
{% endif %}
{% endfor %}
</fieldset>
</table>
{% endfor %}
request.POST id键为字符串的python dict。因此,在键查找中提供一个字符串
answerID = request.POST.get(str(q.id)) #returns None
您是否尝试过在浏览器的“开发人员工具”的“网络”选项卡中查看请求?您应该能够准确地看到正在发布的数据。还有,你有一个无孔不入的盗贼。@Dave我移除了盗贼字段集,谢谢。我不确定如何看待这个问题,我只是用print语句测试了它,并发现当我输入'1'时它是有效的,但即使我输入了一个值为'1'的变量,它仍然不起作用,这是非常奇怪的谢谢!我觉得自己很笨!