django 模板的一些问题

2016-06-04 20:51:09 +08:00
 blacklinux

django 在一个模板中同名的 block 应该是只能有一个

然后假设 test = [{'id':1,'name':"第一个块"},{'id':2,'name':"第二个块"}]

模板 a.html 里有这样的语句

{% for x in test %}

{% block ta %}{{ x.id }}{% endblock%}

{% block tb %}{{ x.name }}{% endblock%}

{% endfor %}

这样用 for 出来的 block(ta 和 tb)似乎是各有两个,test 里的内容全部都正确显示了

然后创建个模板 b.htm,继承 a.html, 里面只有一句话{% block ta %}ZZ{% endblock %} 两个 id 都被替换成 ZZ

那这样的话,说明有两个同名的 block(ta)在继承后都被覆盖了,但是同一模板不能存在名称相同的 block 不是么? 还是说是其他原因????

2710 次点击
所在节点    Django
1 条回复
wangyongbo
2016-06-05 00:31:11 +08:00
不是存在两个 名为 ta 的 block ,是名为 ta 的 block 渲染了两次

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/283516

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX