Буду признателен за любые указания по этому вопросу.Имейте 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
или текущую форму как-нибудь.Есть идеи?