Django模板中如何将含链接属性的对象渲染为表格内可点击名称?
问题分析与修复
错误出在文章名称的链接写法上,你把HTML的<a>标签直接嵌套在了Django模板变量{{}}内部,违反了模板语法规则,导致解析器无法正确识别表达式。
修正后的完整模板代码
<table class="table table-striped table-bordered table-hover table-condensed" style="font-family: Arial, Helvetica, sans-serif"> <thead> <tr> <th>Name</th> <th>Id</th> <th>Summary</th> </tr> </thead> <tbody> {% for article in articles %} <tr> <!-- 修正链接写法:将模板变量嵌入HTML标签对应位置 --> <td><a href="{{ article.link }}">{{ article.name }}</a></td> <!-- 修正字段大小写:Django模型字段默认小写,避免取值错误 --> <td>{{ article.id }}</td> <td>{{ article.summary }}</td> <td><a href="{% url 'editArticle' article.id %}">Edit</a> <a href="{% url 'eraseArticle' article.id %}">Delete</a></td> </tr> {% endfor %} </tbody> </table>
关键修正点
- 把
<a>标签移出{{}},article.link作为href属性值用{{}}包裹,article.name作为链接文本用{{}}包裹,符合Django模板语法规范 - 将
article.Id改为article.id,匹配Django模型字段的常规小写命名,避免因大小写不匹配导致的取值失败
内容的提问来源于stack exchange,提问作者Funez Camilo
相关产品推荐
相关产品推荐

