模板语法for的问题

来源:7-13 Django Template Language语法精讲

初学者之一

2019-04-24

遇到一个很奇怪的问题。

<div>
{% for i in list %}
<a>
<span>{{ i.name }}</span>
</a>
{% endfor %}
</div>

以上是伪代码,这样的代码理想情况是


<a>
<span>{{ i.name }}</span>
</a>

<div>
<a>
<span>name1</span>
</a>
<a>
<span>name2</span>
</a>
<a>
<span>name3</span>
</a>
........
</div>

这个结构循环几遍。结果是span标签被循环了,a标签在div标签外循环。

<a></a>
<a></a>
<a></a>
.....
<div>

<span>name1</span>

<span>name2</span>

<span>name3</span>

........
</div>

a标签在循环体

而且更奇怪的是,右键选择查看源码的话,是正常的结果。然而a标签是没有效果的,使用DevTools才能发现这个情况。

实在google不到
希望老师能帮我解答一下
谢谢

写回答

1回答

Jack

2019-04-25

应该是html标签哪里用得不对,导致凌乱了,这个不是模板语法报错所以google不到。

我在article_list.html里面试了一下,

<div class="col-md-8">

   <div>
       {% for i in articles %}
           <a>
               <span>{{ i.title }}</span>
           </a>
       {% endfor %}
   </div>

   {% for article in articles %}

结果没啥毛病

//img.mukewang.com/szimg/5cc10aeb0001ff7f04640161.jpg

你的 <a data-toggle="xx" data-target="yy"></a> ,如果是想实现模态框的话,请参考 http://ijianbian.com/home/post/detail?id=6177169

用<button></button>才对,<a></a>一般用于链接跳转


0
1
初学者之一
我想做一个table 每一行都能点 所以用了a 标签。js我不太会写 只好选择绕一点的方式
2019-04-25
共1条回复

Django高级实战 开发企业级问答网站

融合Django高级用法/算法/设计模式/TestCase测试/云计算打造项目

900 学习 · 756 问题

查看课程