2

我正在设置的 django 模板有一个特殊问题:我有一个{{ name }}要传递给模板的变量,同时,我有一个notes来自客户端 api 的列表,它同时具有一个{{ name }}和一个{{ body }}
每当我尝试打印出笔记的名称时,都会出现另一个{{ name }}。这很奇怪。这是我的注释代码:

<div class="notes">
   {% for note in notes %}
       <p><strong>{{ name }}</strong></p>
       <p>{{ body }}</p>
   {% endfor %}
</div>

难道我做错了什么?有没有我可以使用的上下文运算符之类的?

4

2 回答 2

4
<div class="notes">
   {% for note in notes %}
       <p><strong>{{ note.name }}</strong></p>
       <p>{{ note.body }}</p>
   {% endfor %}
</div>
于 2013-03-19T19:07:15.967 回答
3

这是与 Django 一起使用 Handlebars 时经常犯的错误,因为 Handlebars 会自动为您更改范围。您需要做的就是引用note您使用 for 循环创建的变量:

<div class="notes">
    {% for note in notes %}
        <p><strong>{{ note.name }}</strong></p>
        <p>{{ note.body }}</p>
    {% endfor %}
</div>

更多信息在这里:https ://docs.djangoproject.com/en/1.5/ref/templates/builtins/#std:templatetag-for

于 2013-03-19T19:08:12.947 回答