以下のテンプレートに示すように、ユーザーはチェックボックスを使用してスロットを選択し、ユーザー名も入力する必要があります。
<form action="/clubs/{{ club.id }}/vote/" method="post">
{% csrf_token %}
{% for slot in tom_open_slots %}
<input type="checkbox" name="slot" id="slot{{ forloop.counter }}" value="{{ slot.id }}" />
<label for="slot{{ forloop.counter }}">{{ slot.slot }} on Court {{slot.court}}</label><br />
{% endfor %}
<input type="text" name="username" />
<input type="submit" value="Reserve" />
次に、チェックボックスで入力したユーザー名と選択した時間を表示したいと思います。以下のビューとテンプレートを使用してこれを行います。
def vote(request, club_id):
if 'username' in request.GET and request.GET['username'] and 'slot' in request.GET and request.GET['slot']:
username = request.GET['username']
slot = request.GET['slot']
return render_to_response('reserve/templates/vote.html',{'username':username, 'slot':slot})
else:
return HttpResponse('Please enter a username and select a time.')
{{slot}}
{{username}}
ただし、vote.htmlにアクセスすると、常にエラーメッセージが表示されます(ユーザー名を入力して時間を選択してください)。2つのGETパラメーターを取得していないビューの何が正しくありませんか?