오늘 django 1.4에서 폼 마법사를 사용하기 시작했습니다. 기능은 좋은 것으로 보이지만, 설명서에 의하면, 하나 개의 요구가 통과하는 form_list
(및 condition_dict
, 필요한 경우) (urls.py
수단)를 as_view
방법 대신 WizardView
django 폼 마법사 - urls.py가 아닌 views.py (WizardView 하위 클래스)에서 form_list 및 condition_dict 정의
이 수단의 서브 클래스를 제공하는 내에서 일부 논리를 작성하고보기 모듈이보기 논리를 담당해야하기 때문에 나는 장고 패턴에 대한 것이라고 믿는 views.py
이 아닙니다.
나는 다음과 같이 결국했습니다
# views.py
class MyWizard(SessionWizardView):
_form_list = (
('init', forms.MyWizardFormInit),
('newuser', forms.MyWizardFormNewUser),
)
_condition_dict = {
'newuser': lambda wizard: (wizard.get_cleaned_data_for_step('init') or {}).get('existing_user') == 'False'
}
과 urls.py
:
url(.., MyWizard.as_view(MyWizard._form_list, condition_dict = MyWizard._condition_dict)),
. 의 올바른 선언 방법은 urls.py의 로직 선언을 막는 것입니까DRY을 유지 하시겠습니까?
views.py
my_wizard_view = MyWizard.as_view(MyWizard._form_list, condition_dict=MyWizard._condition_dict))
urls.py
나는 아직 WizardWiev을 사용하지 않은url(r'^my_wizard/$', my_wizard_view, name='my_wizard')
여전히 "정상적인"CBV보다 좋지는 않지만 조금 나아졌습니다.) 감사합니다! – migajek