В Django, как правильно предварительно выбрать тег опции формы? - PullRequest
0 голосов
/ 05 апреля 2019

Я использую Django и Python 3.7.Я хочу создать меню SELECT в моем шаблоне, поэтому я попробовал это ...

    <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 '''

Это задыхается от моего выражения "если".Какой предпочтительный способ установить атрибут selected для тега option?

Ответы [ 3 ]

0 голосов
/ 05 апреля 2019

Настоящий правильный путь - использовать форму Django.Но если вы настаиваете на том, чтобы делать это вручную, вам нужен тег if

 {% if website_id == website.id %} selected {% endif %}
0 голосов
/ 30 июня 2019
<select name="qf">
    <option value="10th" {% if '10th' %} selected {% endif %}>10th</option>
    <option value="12th" {% if '12th' %} selected {% endif %}>12th</option>
</select>
0 голосов
/ 05 апреля 2019

Правильный синтаксис выглядит примерно так:

{% 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>
...