Прежде всего, я должен признать, что я совершенно не знаком с Django. Я застрял в проблеме, но, вероятно, я просто не знаю, как правильно это сделать, чтобы получить соответствующую помощь в Интернете. Поэтому я ценю любую помощь и благодарю вас за то, что вы были терпеливы со мной как новичок. ^^Django: «разбить» форму на нескольких страницах
В моих models.py я определяю несколько RadioSelects с именем «choice_1», «choice_2» и т. Д. В мой template.html петля I над form
объекта Джанго, чтобы получить все RadioSelects в таблице, которая работает прекрасно:
<table class="table">
{% for field in form %}
<tr>{% formfield field %}</tr>
{% endfor %}
</table>
Вот моя проблема:
Теперь я хотел бы «разделить» форма на несколько страниц, то есть я хотел бы иметь каждый отдельный RadioSelect на отдельной странице в рамках одного и того же HTML-шаблона. Для этого я искал сеть и stumpled над двумя разными способами я мог думать, чтобы справиться с этой проблемой:
In this thread, например, рекомендуется
slice
шаблон фильтра. Для меня это казалось бы идеальным решением, поскольку его можно было легко реализовать, используя{% for fields in form|slice:":1" %}
. Однако я не могу сделать это с помощьюslice
; на самом деле, он ничего не меняет.Другая идея - это нечто вроде «разбиения на страницы» или тому подобное. Я уже нашел классы django-build-in
pagination
, но я не могу заставить все работать.
Без какой-либо идеи, как решить эту проблему, я был бы очень признателен за вашу помощь. Спасибо вам большое заблаговременно и наилучшие пожелания, fh_!
Вы перешлите к списку, как указано в первом варианте? – onyeka
@oneyka: На самом деле, я думал, что объект 'form' уже находится в форме списка. Возможно, я должен отметить, что я работаю с проектом Django под названием oTree, который позволяет программировать эксперименты в области социальных наук. В документах указано, что «форма» - это специальная переменная. Это объект формы Django, который является итерируемым, элементами которого являются объекты поля формы Django. 'Formfield' может принимать в качестве аргумента объект поля Django или он может выражение {% formfield player.foo%} и {% formfield group.foo%}, но player.foo должно быть записано как литерал ... " –