Как указать имя переменной формы, используемой в шаблоне FormView? (имя контекста объекта для форм)
from forms import MyContactForm
from django.views.generic.edit import FormView
class MyFormView(FormView):
template_name = 'my_forms.html'
form_class = MyContactForm
success_url = '/thanks/'
в моем шаблоне форма называется так:
{{ form }}
но как я могу назвать это так:
{{ my_contact_form }}
?
это будет эквивалент форм object_context_name
(для моделей).
1 ответов
можно переопределить get_context_data
:
class MyFormView(FormView):
template_name = 'my_forms.html'
form_class = MyContactForm
success_url = '/thanks/'
# from ContextMixin via FormMixin
def get_context_data(self, **kwargs):
data = super(MyFormView, self).get_context_data(**kwargs)
data['my_contact_form'] = data.get('form')
return data