В настоящее время я пытаюсь отобразить набор сгенерированных форм в представлении. Например, возьмем следующий вид (как часть класса TemplateView
):
def get(self, request, id):
df = create_dataframe(User.objects.get(user=request.user.username))
context = generate_context_forms(df=df, user=request.user.username)
return authentication_check(
request=request, template_name=self.template_name, context=context
)
По сути, функция create_dataframe
генерирует некоторые релевантные вычисления, используя некоторые введенные пользователем данные, и эти данныеобозначает, сколько форм я буду генерировать для пользователя. Функция generate_context_forms
использует это DataFrame
для генерации контекста для пользователя. authentication_check
- это базовая функция, которая действует как render
, но с некоторыми дополнительными функциями. Как правило, context
будет выглядеть так:
context = {
'general': GeneralForm,
'specific1': SpecificForm,
'specific2': SpecificForm,
...
}
К n
суммам SpecificForm
. То, что я пытаюсь сделать, это показать все конкретные формы пользователю, не вызывая потери контроля. Все формы будут отправлены с помощью одной кнопки «отправить», и после отправки я должен собрать все данные, которые они представили индивидуально. С учетом вышеприведенного контекста я не знаю, как бы перебирать все формы specific
в контексте.
Еще одна попытка, которую я предпринял, состояла в том, чтобы просто добавить определенные формы в список:
context = {
'general': GeneralForm,
'specific': [SpecificForm, SpecificForm, ...],
}
Но кажется, что когда я перебираю их в моем представлении:
{% for form in specific %}
<div class="ui fluid card">
<div class="content">
<a class="header">{{ form.instance.prompt }}</a>
</div>
<div class="extra content">
{{ form|crispy }}
</div>
</div>
{% endfor %}
В итоге происходит то, что радио-кнопка каждой сгенерированной формы взаимодействует с другой. Другими словами, во всей «определенной форме» есть выбор из Yes/No
переключателей для вопроса, но кажется, что все эти переключатели не выбирают друг друга (независимо от формы). Это также решение, в котором я не уверен, как извлекать пользовательские данные из потом.
Любая помощь будет признательна по этой теме, так как я был немного застрял в последние несколько днейи я не могу найти соответствующую информацию в Интернете для "сгенерированных форм".