将不胜感激任何指导。拥有SessionWizardView
来自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)
然后每家餐厅都有一个表格列表来使用,类似的东西。以某种方式设置form_list
或当前形式。有任何想法吗?