Можно ли иметь две или более 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

Полное раскрытие информации, я являюсь соавтором пакета.

Вернуться на верх