Выпадающий список формы Django не отображается

Я хочу создать выпадающий список в форме. Я следовал этому подходу здесь. Если я использую {{ form.as_p }}, выпадающий список отображается просто отлично. Но рендеринг формы с помощью as_p выглядит ужасно. Вместо этого я перебираю поля формы и получаю доступ к их параметрам, чтобы стилизовать вводимые данные. Я пытаюсь поймать поле выпадающего списка с помощью if-выражения с условием field.widget.input_type == "select". Когда страница рендерится, я должен увидеть надпись "This is where my dropdown goes" там, где должно быть поле выпадающего списка. Но этого не происходит, поле отображается как текстовый ввод, как и любое другое поле, поэтому мое условие if не работает. Я отладил свою функцию представления и подтвердил, что поле, соответствующее выпадающему списку, действительно имеет параметр .widget.input_type == "select". Что я делаю неправильно?

<form action="{% url 'myapp:newrecord' %}" method='post'>
    {% csrf_token %}
    {% for field in form %}
        <div class="form-group row">
            {% if field.widget.input_type == "select" %}
                <p>This is where my dropdown goes.</p>
            {% else %}
              <label for="{{ field.id_for_label }}" class="col-sm-2 col-form-label">{{ field.label }}</label>
              <div class="col-sm-10">
                <input type="text" name="{{ field.html_name }}" class="form-control" id="{{ field.id_for_label }}" placeholder="{{ field.label }}" required>
              </div>
            {% endif %}
        </div>
    {% empty %}
        <p>This shouldn't be empty but it is.</p>
    {% endfor %}
  <div class="form-group row">
    <div class="col-sm-10">
      <button type="submit" class="btn btn-primary">Submit</button>
    </div>
  </div>
</form>

Нашел ответ.

{% if field.field.widget.input_type == "select" %}

Вернуться на верх