Я пытаюсь показать несколько форм на одной странице для моего веб-сайта управления университетом. Идея состоит в том, чтобы учитель мог вводить все оценки для группы в групповом оценивании на одной странице. Представление должно отображать форму элемента группы, а затем ряд форм для отдельных элементов (размер группы может варьироваться).
Документация Django немного кратка в отношении идеи префиксов форм, поэтому я не совсем уверен, что это правильный подход. Я хотел бы сделать формы с хрустящими формами. Будет ли этот подход работать или есть лучший способ достичь цели, которую я имею в виду?
views.py
--------
# Generate the forms for the template
group_form = GroupForm(prefix='group')
student_forms = []
for student in students_in_group:
student_form = StudentForm(initial={...}, prefix=student.student_id)
student_forms.append(student_form)
...
# Processing post request
if request.method == 'POST':
group_form = GroupForm(request.POST, prefix='group')
if group_form.is_valid():
group_form.save()
for student in students_in_group:
student_form = StudentForm(request.POST, prefix=student.student_id)
if student_form.is_valid():
student_form.save()
group_feedback.html
-------------------
{% crispy group_form %}
{% for form in student_forms %}
{% crispy form %}
{% endfor %}