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

何かをPOSTする場合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 に答える