2013-07-30 3 views
2

У меня есть 5-ступенчатая форма регистрации, где первый шаг встроен в домашнюю страницу. Таким образом, step1 является частью домашней страницы, и остальные шаги выполняются. Мне нравится иметь уникальные URL-адреса для step2-step5. Основываясь на этом, я попытался создать URLS, но я застрял на том, как оставить первый шаг домашним URL (mysite.com), и у него есть что-то вроде mysite.com/signup/step2 и т. Д.Django form wizard уникальный URL-дизайн

Используется чтобы быть моим одного рабочего 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), 

) 

Как иметь шаг1 как домашний URL и уникальных URL-адресов для остальных шагов?

ответ

0

Возможно, это будет работать:

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'), 
) 
+0

Я пытался сделать это, но я получаю эту ошибку 'имя URL необходимо разрешить правильный мастер URLs'. Я пробовал давать уникальные имена, но до сих пор не разрешаю. – name

+0

Не могли бы вы попробовать отредактированный ответ? –

+0

Я пробовал, я получаю ту же ошибку. Я предполагаю, что он должен что-то сделать с помощью «NamedUrlWizardView», который я использую в видах входа для определения Singupwizard. – name

Смежные вопросы