Форма 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> </td>
<td><input type="submit" value="Submit" id="form_field" name="submit_btn"></td>
</tr>
</table>
(Я довольно новичок в Django. Мой предыдущий опыт работы с GUI в основном с PyQt5)
Тебе повезло, мой друг.
Ознакомьтесь с Django Crispy Forms. Используя этот продукт, вы можете программно управлять макетом вашей формы из определения формы.