request.POST['choice'] returns 是一个整数吗

did request.POST['choice'] returns an Integer

我正在学习 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。