1

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

4

0 回答 0