#django #python-3.x #drop-down-menu #option
#python #python-3.x #django #html-выберите
Вопрос:
Я использую Django и Python 3.7. Я хочу создать меню ВЫБОРА в своем шаблоне, поэтому я попробовал это…
<select id="website_id" name="website_id">
<option value="">Select a website</option>
{% for website in websites %}
<option value="{{ website.id }}" {{ 'selected' if website_id == website.id else '' }}>{{ website.path }}</option>
{% endfor %}
</select>
но я получаю эту ошибку
Could not parse the remainder: ' if website_id == website.id else ''' from ''selected' if website_id == website.id else '''
Он задыхается от моего выражения «если». Какой предпочтительный способ установить атрибут «выбранный» тега опции?
Ответ №1:
Действительно правильный способ — использовать форму Django. Но если вы настаиваете на том, чтобы делать это вручную, вам нужен тег if
{% if website_id == website.id %} selected {% endif %}
Комментарии:
1. Несмотря на то, что в моей форме есть только это одно поле, я думаю, было бы очень полезно узнать больше о формах Django, поэтому после того, как я заставлю это работать, возможно, я смогу вернуться и сделать это правильно, что я бы предпочел.
Ответ №2:
Правильный синтаксис выглядит так:
{% if CONDITION %}A{% endif %}
Итак, в вашем случае мы бы реализовали это следующим образом:
<select id="website_id" name="website_id">
<option value="">Select a website</option>
{% for website in websites %}
<option value="{{ website.id }}" {% if website_id == website.id %}selected{% endif %}>{{ website.path }}</option>
{% endfor %}
</select>
Ответ №3:
<select name="qf">
<option value="10th" {% if '10th' %} selected {% endif %}>10th</option>
<option value="12th" {% if '12th' %} selected {% endif %}>12th</option>
</select>