将不胜感激任何指导。拥有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或当前形式。有任何想法吗?