对此表示感谢。
来自SessionWizardView
的{{1}},我希望能够以不同的形式发送,该形式基于正在访问用户所属的django-formtools
/ request.user.restaurant
。不同的餐厅将针对注册流程使用不同的表单集,但我不知道如何适应这种情况。看来我需要传递request.site
urls.py
中的公司列表,或者提前在班级中列出表格。
.as_view()
由于MY_TEMPLATES = {
'0': '/templates/wizard_1.html',
'1': '/templates/wizard_2.html',
'2': '/templates/wizard_3.html'
}
class MySignupWizard(SessionWizardView):
form_list = [AddressForm, MenuForm, HoursForm,ContactForm]
def get_template_names(self):
return [MY_TEMPLATES[self.steps.current]]
def done(self, form_list, **kwargs):
etc.
可以访问get_template_names(self)
和self.request
,所以我想我可以将self.request.site
用作嵌套字典,然后将MY_TEMPLATES
与当前步骤。尽管有一种方法可以将数据直接传递给这些模板?像查询一样,将self.request.site
数据传递给每个模板吗?
但是我不知道如何动态修改Restaurant
。上面有标准的四种形式,但是有些餐馆只需要三种形式或略有不同的形式。我想做类似的事情:
form_list
,然后每个餐厅都有要使用的表单列表,类似这样。设置restaurant = Restaurant.objects.get(url=request.site.domain)
或当前格式。
有什么想法吗?