Форма Django: видимая группировка или разделение полей

У меня есть форма, которую я отображаю в приложении Django. Эта форма имеет несколько полей.

Чтобы сделать пользовательский интерфейс более интуитивным, я хотел бы отображать поля не просто одно за другим, а сгруппированные по разделам - будь то внутри поля или путем разделения разделов горизонтальной линией или большим интервалом, или пользовательским текстом и т.д.

Меня больше всего интересует, чтобы подгруппы были заметно отделены друг от друга. Возможность использовать некоторый текст (по сути, метку без вложенного поля) в качестве разделителя разделов была бы приятным бонусом.

Как я могу этого достичь?

Текущий код примера:

forms.py:

from django import forms

class MyForm(forms.Form):
    color1 = forms.CharField()
    items_color1 = forms.CharField()
    # some devider here
    color2 = forms.CharField()
    items_color2 = forms.CharField()

mypage.html:

<table>
  {{ form.as_table }}
  <tr>
    <td>&nbsp;</td>
    <td><input type="submit" value="Submit" id="form_field" name="submit_btn"></td>
  </tr>
</table>

(Я довольно новичок в Django. Мой предыдущий опыт работы с GUI в основном с PyQt5)

Тебе повезло, мой друг.

Ознакомьтесь с Django Crispy Forms. Используя этот продукт, вы можете программно управлять макетом вашей формы из определения формы.

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