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