Django の Form Wizard パッケージを使用して 4 ステップのフォームを作成しています。4 つのステップごとにフォームを作成しました。それはうまくいっています。私の場合、4 つの個別のテンプレートを作成し、フォーム ウィザードの各ステップで独自のテンプレートを使用しています。
しかし、私が作成したこれらのテンプレートはどれも実質的に同じです。以下は、それぞれにあるコードです。他所から切り貼りしました。それは機能しますが、その方法や理由が完全にはわかりません:
<form action="" method="post">{% csrf_token %}
<table>
{{ wizard.management_form }}
{% if wizard.form.forms %}
{{ wizard.form.management_form }}
X
{% for form in wizard.form.forms %}
{{ form }}
{% endfor %}
{% else %}
Y
{{ wizard.form }}
{% endif %}
</table>
{% if wizard.steps.prev %}
<button name="wizard_goto_step" type="submit" value="{{ wizard.steps.prev }}">{% trans "Previous Step" %}</button>
{% endif %}
<input type="submit" value="{% trans "Next Step" %}"/>
</form>
私がしなければならないことは、ステップ 2/4 でフォームのレイアウトを変更することです。現在のように、フォームの入力要素を互いに重ねて配置したくありません。を操作して、少し違うことをしたいです。
しかし、これを行う方法がわかりません。{{wizard.form}} だけでなく、実際の名前付きフォーム要素を使用しているテンプレートを誰かに見せてもらえますか? 検証エラーが発生した場合でも、この Web ページに表示するにはそれが必要です。それをすべて達成する方法は?テンプレートがどのように見えるかの簡単な例が理想的です。