Django Formtools SessionWizardView在验证错误时重新填充表格

时间:2019-06-25 10:00:10

标签: django django-forms django-formtools

我有一个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 }}

相同

1 个答案:

答案 0 :(得分:0)

找到了答案。看起来一样,但是{{ wizard.form.plan.value }}是一个字符串。通过使用{{ wizard.form.plan.value|add:"0" }}我将其强制为整数,现在可以使用