Django 尝试按id接收时,request.POST.get(变量)返回None

Django 尝试按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)

好吧,帮帮我,我快疯了

我有4个问题,每个问题的单选按钮名称设置为问题id,值设置为答案id以获取答案id,并使用它获取用户提交的答案,以检查其是否正确

views.py

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'的变量,它仍然不起作用,这是非常奇怪的谢谢!我觉得自己很笨!