做了请求POST['choice']返回一个整数

问题描述

我正在学习django,您能帮我吗

selected_choice=question.choice_set.get(pk=request.POST['choice'])

selected_choice.Votes+=1

在这里,selected_choice持有一个特定的选择对象,但是request.POST['choice]功能是什么,对此我感到困惑

解决方法

如果您通过post方法提交表单,则可以使用request.POST(这是python中的字典)访问您在表单中提交的所有数据。 由于<input type="radio" name="choice" id="choice{{ forloop.counter }}" value="{{ choice.id }}">具有name="choice",因此字典具有名为choice的键,该键保存选择ID的值(因为您已经设置了value="{{ choice.id }}

因此request.POST ['choice']为您提供选择的ID。 pk代表主键。因此,get(pk=request.POST['choice'])为您提供的选择对象的pk(默认为id)等于您从表单中获得的选择id。