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" }} 我将它强制转换为一个整数,现在它可以工作了