Django Form Wizard уникальный дизайн URL
У меня есть 5-ступенчатая форма регистрации, где первый шаг встроен в домашнюю страницу. Таким образом, шаг 1 является частью домашней страницы, а остальные шаги выполняются. Мне нравится иметь уникальные URL для step2-step5. Исходя из этого, я попытался создать URL-адреса, но я застрял на том, как оставить первый шаг, чтобы быть домашним URL-адресом (mysite.com), а остальным нужно что-то вроде mysite.com/signup/step2 и т. Д.
Раньше это был мой единственный рабочий URL
from apps.profile.views.login import SignupWizard, SIGNUP_FORMS
from apps.profile.forms import MultiPartSignupFormStep1, MultiPartSignupFormStep2, MultiPartSignupFormStep3, MultiPartSignupFormStep4,MultiPartSignupFormStep5
urlpatterns = patterns('apps.profile.views.login',
url(r'^$', SignupWizard.as_view(SIGNUP_FORMS), name="signup"),
)
Это мой настоящий код
from apps.profile.views.login import SignupWizard, SIGNUP_FORMS
from apps.profile.forms import MultiPartSignupFormStep1, MultiPartSignupFormStep2, MultiPartSignupFormStep3, MultiPartSignupFormStep4,MultiPartSignupFormStep5
named_forms = (
('step1', MultiPartSignupFormStep1),
('step2', MultiPartSignupFormStep2),
('step3', MultiPartSignupFormStep3),
('step4', MultiPartSignupFormStep4),
('step5', MultiPartSignupFormStep5),
)
wizard = SignupWizard.as_view(named_forms)
#url_name='step1', done_step_name='finished')
urlpatterns = patterns('apps.profile.views.login',
url(r'^account/signup/(?P<step>.+)/$', wizard),
#url(r'^account/signup/$', wizard),
)
Как сделать step1 в качестве домашнего URL и уникальных URL для остальных шагов?
1 ответ
Возможно, это будет работать:
from apps.profile.views.login import SignupWizard, SIGNUP_FORMS
from apps.profile.forms import MultiPartSignupFormStep1, MultiPartSignupFormStep2, MultiPartSignupFormStep3, MultiPartSignupFormStep4,MultiPartSignupFormStep5
step1 = (('step1', MultiPartSignupFormStep1),)
other_steps = (
('step2', MultiPartSignupFormStep2),
('step3', MultiPartSignupFormStep3),
('step4', MultiPartSignupFormStep4),
('step5', MultiPartSignupFormStep5),
)
wizard_step1 = SignupWizard.as_view(step1, url_name='wizard_step1')
wizard_other_steps = SignupWizard.as_view(other_steps, url_name='wizard_other_steps')
urlpatterns = patterns('apps.profile.views.login',
url(r'^$', wizard_step1, name='wizard_step1'),
url(r'^account/signup/(?P<step>.+)/$', wizard_other_steps, name='wizard_other_steps'),
)