Можно ли иметь две или более Django-форм в одной HTML-форме?
Я знаю, что в одной HTML форме можно иметь более одной Django формы, даже наборы форм и стандартные формы объединены, и это работает совершенно нормально. Я хочу знать, является ли это хорошей практикой и как это может повлиять на безопасность, если повлияет вообще? Я не смог найти никакой информации об этих случаях, но в учебниках я видел, что оба варианта (несколько Django форм в одной HTML и каждая Django форма в отдельной HTML форме) в некоторых случаях необходимы, так как две формы могут делать разные вещи, такие как обновление и удаление, например. В моем случае все формы отправляют данные в разные модели, а затем все они объединяются в одну модель. Пожалуйста, посмотрите на пример (Это простой пример, а не реальный код) ниже:
<form action="" method="POST">
{% csrf_token %}
{{ form.field1 }}
{{ form.field2 }}
{{ form.field3 }}
{% for field in dates_form %}
{{ field.Loading_date_from }}{{ field.Loading_time_from }}{{ field.Loading_date_to }}{{ field.Loading_time_to }}
{% endfor %}
{% for field in dates_form2 %}
{{ field.Loading_date_from }}{{ field.Loading_time_from }}{{ field.Loading_date_to }}{{ field.Loading_time_to }}
{% endfor %}
{{ form.field4 }}
{{ form.field5 }}
<input type="submit">
</form>
Да, это нормально. Существует пакет, помогающий в этом и для типовых форм:
https://github.com/kennethlove/django-shapeshifter
Полное раскрытие информации, я являюсь соавтором пакета.