2
我有一個django表單嚮導。在用戶進入嚮導之前,在嚮導的4個步驟中,我想評估一個if條件來檢查數據。django表單嚮導重定向
當if條件失敗時,我想退出嚮導並將用戶重定向到開始頁面,其中顯示信息塊,告訴用戶沒有數據的問題。
我已經嘗試將if條件重定向到嚮導中的用戶,但我被告知我無法在get_context_data()中返回重定向,因爲SessionWizardView不會將該值作爲響應返回。
有沒有辦法解決這個問題?
這裏是我的表單嚮導代碼:
class CreateDocumentWizard(SessionWizardView):
template_name = 'documents/document_create.html'
form_list = [
core_forms.CreateDocumentWizardForm01,
core_forms.CreateDocumentWizardForm02,
core_forms.CreateDocumentWizardForm03,
core_forms.CreateDocumentWizardForm04,
]
def get_form_kwargs(self, step=None):
kwargs = super(CreateDocumentWizard, self).get_form_kwargs(step)
kwargs.setdefault('user', self.request.user)
return kwargs
def get_context_data(self, form, **kwargs):
name_details_count = NameDetails.objects.filter(user=self.request.user).count()
# redirect user if no name details held.
if name_details_count < 1:
return HttpResponseRedirect('document_start')
twil - 一個非常非常感謝!該代碼是一種享受!真棒! – user3354539