最初の投稿なので、どんな初心者でも許してください - 私は複数ページの製品サインアップフォームを作成しようとしています. 表示するフォームと送信ボタンを取得できますが、urls.py ファイルの URL パターンの例が見つかりません。次の提案を含む別の同様の質問を見つけました。
「リクエストを処理するビューを作成する必要があります。(それを行いました) urls.py を編集して、クイズの URL を views.py の関数にマップする必要があります (試行中ですが、失敗しています)。したがって、そのクイズの URL を使用したリクエストがDjango がそのビュー関数を適用します。
ユーザーを新しいURLにリダイレクトすると問題になります。次のパターンがどうあるべきかの例が見つからないようです。これが私の urls.py コードです (index.html と details.html はこれまでの私のテンプレートです):
url(r'^signup/$', 'signup.views.select_product', name='select_product'),
url(r'^signup/(?P<product_id>\d+)/$', 'signup.views.subscriber_signup', name='subscriber_signup'),
#...
これが私のビューコードです:
def select_product(request):
title = "get yourself an e-edition. wurd."
pform = ProductForm(request.POST)
if request.method == 'POST': # If the form has been submitted...
pform = ProductForm(request.POST) # A form bound to the POST data
if pform.is_valid(): # All validation rules pass
# Process the data in form.cleaned_data
# ...
return HttpResponseRedirect('signup/index.html') # Redirect after POST
else:
form = ProductForm() # An unbound form
return render_to_response('signup/index.html', {'title': title, 'pform': pform}, context_instance=RequestContext(request))
def subscriber_signup(request, product_id):
signup = Product.objects.get(id=product_id)
title = "get yourself an e-edition. wurd."
sform = SubscriberForm(request.POST)
if request.method == 'POST': # If the form has been submitted...
sform = SubscriberForm(request.POST) # A form bound to the POST data
if sform.is_valid(): # All validation rules pass
# Process the data in form.cleaned_data
# ...
return HttpResponseRedirect('signup/detail.html') # Redirect after POST
else:
sform = SubscriberForm() # An unbound form
return render_to_response('signup/detail.html', {'title': title, 'sform': sform, 'signup': signup,}, context_instance=RequestContext(request))