3

ビューで Djangoフォーム ウィザードをラップするにはどうすればよいですか? にアクセスできるように、これを行う必要がありますrequest

誰かがこれのためのサンプルコードを持っていますか?

4

3 に答える 3

5

私はおそらくManojの答えにコメントするべきですが、コードが必要なようです

urls.py

from django.conf.urls.defaults import *
from MyApp import views

urlpatterns = patterns(
  '',
  (r'^wizard/$', views.MyWizardView ),
)

ビュー.py

@login_required    
def MyWizardView (request):
  cw = MyWizard([WizardName, WizardQuestions, WizardProvider, WizardGoomber])
  return cw(request)
于 2010-10-15T18:30:16.257 に答える
2

このas_view関数は、クラスベースのビューを呼び出し可能なビューに変換します。

from django import forms
from django.contrib.formtools.wizard.views import SessionWizardView

class Form1(forms.Form):
    a = forms.CharField()

class Form2(forms.Form):
    b = forms.CharField()

class MyWizard(SessionWizardView):
    pass

wizard_view = MyWizard.as_view([Form1, Form2])

def view(request):
    # do something fancy with the request object here
    return wizard_view(request)

これは基本的に、Djangoフォームウィザードをビューでラップする方法と同じ答えです。

于 2013-01-29T19:53:48.853 に答える
0

このDjango スニペットは役に立つかもしれません。

タイトルから: 「urls.py を使用する必要のない、適切なコンテキスト処理とサイト テンプレートのサポートを備えたビュー内の FormWizard

于 2010-08-17T16:19:24.687 に答える