{% if v1 == v2%} не работает для меня в шаблоне Django, где v1 - это значение из набора запросов, а v2 - это значение, которое я получаю из контекста - PullRequest
0 голосов
/ 19 декабря 2011

У меня есть идентификатор, который я передаю своему шаблону, и он также проходит по списку для создания опций для блока выбора.Я хочу добавить selected = 'selected' к значению, которое соответствует, но похоже, что шаблоны django не позволяют мне сравнивать значения в предложении if.Как я могу это сделать

Я использую 1.3, и я пытался, если v1 == v2, а также пробовал ifequal v1 v2.

     {% for h in hotel_list %}
     <option value="{{ h.HotelId }}" {% if h.HotelId == request.hotel_id %}selected="selected"{% endif %}>{{ h.Title }}</option>
     --{{h.HotelId}}--{{request.hotel_id}}--
     {% endfor %}

Вот как я называю шаблон:

return render_to_response('hotels/select_hotel.html', {'hotel_list': all_hotels, 'request' : request.GET})

Вот что я получаю:

<select id ='hotel_id' name = 'hotel_id'>


    <option value="2" >Holiday Inn</option>

    --2--7--

    <option value="3" >Joel&#39;s Inn</option>

    --3--7--

    <option value="6" >Joel&#39;s Joint</option>

    --6--7--

    <option value="1" >The Paris Hilton</option>

    --1--7--

    <option value="7" >Waldorf Astoria</option>

    --7--7--

</select>

Ответы [ 2 ]

0 голосов
/ 20 декабря 2011

Когда все заканчивается, я сравниваю строку с int. Оказывается,

response.GET['hotel_id']

является строкой, поэтому я преобразовал ее в int и передал ее в контексте в мою форму

0 голосов
/ 19 декабря 2011

Выполнение v1 == v2 должно быть правильным в соответствии с документами django.

== оператор

Равенство.Пример:

{% if somevar == "x" %}
  This appears if variable somevar equals the string "x"
{% endif %}

Я получил это от https://docs.djangoproject.com/en/dev/ref/templates/builtins/?from=olddocs#operator

Было бы легче помочь, если бы вы опубликовали свой код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...