Django formtools SessionWizardView заполняет форму при ошибке проверки - PullRequest
0 голосов
/ 25 июня 2019

У меня есть мастер 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 голосов
/ 29 июня 2019

Нашел ответ. Выглядит так же, но {{ wizard.form.plan.value }} - строка. Используя {{ wizard.form.plan.value|add:"0" }}, я преобразую его в целое число, и теперь оно работает

...