Django formtools SessionWizardView 在验证错误时重新填充表单
Django formtools SessionWizardView repopulating form on validation error
我有一个 django-formtools SessionWizardView
向导,当输入所有数据时它工作正常。但是,我在表单的每个步骤中都进行了表单验证,如果表示了一个步骤,在某些情况下我无法让输入的数据重新显示。
这是一个简单的例子。未输入必填字段 description
已输入字段 plan
。报告验证错误并重新显示表单。
我正在模板中创建计划复选框,如下所示。
{% for plan in PLANS %}
<div class="col-6">
<span class="form-radio form-radio-xl">
<input type="radio" id="id_job-plan_{{plan.id}}" name="job-plan" value="{{ plan.pk }}" required {% if wizard.form.plan.value == plan.pk %}checked{% endif %}>
<label for="id_job-plan_{{plan.id}}">{{ plan }} - {{plan.pk}} </label>
</span>
</div>
{% endfor %}
我希望 {% if wizard.form.plan.value == plan.pk %}checked{% endif %}
在一个实例中是 True
,因此 checked
。不是,我不明白为什么不。
如果我{{ wizard.form.plan.value }}
显示的结果看起来与{{ plan.pk }}
相同
找到答案了。它看起来一样,但 {{ wizard.form.plan.value }}
是一个字符串。通过使用 {{ wizard.form.plan.value|add:"0" }}
我将它强制转换为一个整数,现在它可以工作了
我有一个 django-formtools SessionWizardView
向导,当输入所有数据时它工作正常。但是,我在表单的每个步骤中都进行了表单验证,如果表示了一个步骤,在某些情况下我无法让输入的数据重新显示。
这是一个简单的例子。未输入必填字段 description
已输入字段 plan
。报告验证错误并重新显示表单。
我正在模板中创建计划复选框,如下所示。
{% for plan in PLANS %}
<div class="col-6">
<span class="form-radio form-radio-xl">
<input type="radio" id="id_job-plan_{{plan.id}}" name="job-plan" value="{{ plan.pk }}" required {% if wizard.form.plan.value == plan.pk %}checked{% endif %}>
<label for="id_job-plan_{{plan.id}}">{{ plan }} - {{plan.pk}} </label>
</span>
</div>
{% endfor %}
我希望 {% if wizard.form.plan.value == plan.pk %}checked{% endif %}
在一个实例中是 True
,因此 checked
。不是,我不明白为什么不。
如果我{{ wizard.form.plan.value }}
显示的结果看起来与{{ plan.pk }}
找到答案了。它看起来一样,但 {{ wizard.form.plan.value }}
是一个字符串。通过使用 {{ wizard.form.plan.value|add:"0" }}
我将它强制转换为一个整数,现在它可以工作了