我基本上尝试使用此表单作为检查:如果选择了选项1(值0):渲染page1,如果选择了选项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。我显然做错了什么。我可以在视图中使用选择选项作为支票吗?
答案 0 :(得分:3)
如果您要发布内容,则需要name
元素的select
属性。
<select name="foo">
<option value="bar">Bar</option>
</select>
if request.POST.get('foo') == 'bar':
print 'Bar'