#python #django #forms #django-class-based-views #formview
#python #django #формы #представления на основе классов django #formview
Вопрос:
Я бы хотел, чтобы мой FormView
проводил проверку (показывая, какие поля содержат ошибку), а также повторно использовал уже введенные данные, если форма недействительна.
На данный момент, если форма недействительна:
- Ошибка не отображается в форме / поле формы (красный прямоугольник вокруг, с текстом ошибки ниже)
- Форма перезагружается, а сделанные входные данные отбрасываются (форма повторно загружается как новая).
Кажется, что get_context_data
аннулирует поведение по умолчанию на основе класса FormView
Как вы проверяете несколько форм в контексте, а также как вы повторно загружаете уже выполненные данные формы в таком контексте?
class ProductFormView(FormView):
template_name = 'product/product_create.html'
model = Product
success_message = f'Product created successfully'
success_url = '/product/list'
def get_context_data(self, **kwargs):
context = super(ProductFormView, self).get_context_data(**kwargs)
context['form_1'] = CommonFieldsForm(instance=self.model())
context['form_2'] = PriceForm(instance=self.model())
return context
def form_invalid(self, form):
response = super().form_invalid(form)
return response
def form_valid(self, form):
response = super().form_valid(form)
return response