1

我基本上是在尝试使用此表单作为检查:如果选择了选项 1(值 0):渲染页面 1,如果选择了选项 2(值 1):渲染页面 2。

在我的模板中,我有

<form method="POST" action="/account/subscription/"> 
     {% csrf_token %}
     <select size="1">
          <option value="0" name="plan">Plan 1</option>
          <option value="1" name="plan">Plan 2</option>
      </select>
</form>

看法:

def subscription(request):
    if request.method != 'POST':
        return HttpResponseRedirect('/signup/additional/')
    else:
        if '0' in request.POST:
            return render_to_response('signup/payment_plan1.html', context_instance=RequestContext(request))
        else:
            return render_to_response('signup/payment_plan2.html', context_instance=RequestContext(request))

一旦发布...查看我的网络路径,所有帖子返回都是 csrf。我显然做错了什么。我可以在我的视图中使用选择选项作为检查吗?

4

1 回答 1

3

如果要发布某些内容,则需要元素的name属性。select

<select name="foo">
<option value="bar">Bar</option>
</select>

if request.POST.get('foo') == 'bar':
   print 'Bar'
于 2012-08-27T22:00:24.707 回答