0
我在Django模板中有一個for循環,它打印出書本列表,該列表很好地工作。問題是當我嘗試的選擇,以紀念在列表中的項目之一,基於來自views.py文件中傳遞的值:在Django模板循環中包含變量
<select name="b">
<option value="1">Book</option>
{% for book in books %}
<option {% if book.id == selected_book %} selected {% endif %} value="{{ book.id }}">{{ book.t }}</option>
{% endfor %}
</select>
「圖書」變量是一個列表,在通過views.py文件。我可以在循環之外訪問這些變量,但是如果我嘗試在循環內部包含一個單獨的變量(「selected_book」),我有問題。
上面的代碼做什麼,如果我嘗試住變量在雙括號
{{ selected_book }}
我收到以下錯誤:
TemplateSyntaxError
Could not parse the remainder: '{{' from '{{'
變量被傳遞到模板,因爲我可以將它打印到頁面上。當我嘗試在for循環中使用它時,我只會遇到一個錯誤。
如果我寫「{%if book.id == 2%}」,那很好。
你需要改變' 「{{book.id}}」''到{{book.id}}' – Kasramvd 2014-11-08 15:47:17
化妝確定''book.id''確實存在。是「書籍」的對象列表? – doniyor 2014-11-08 15:54:27
書ID不是問題。如果我寫「{%if book.id == 2%}」,那很好。 – Jon 2014-11-08 16:03:50