模板 _list.html 代码如下:
<h3>评论列表,共 <span>{{ comment_count }}</span> 条评论</h3> <ul> {% for comment in comment_list %} <li> <span>{{ comment.name }}</span> <time datetime="{{ comment.created_time }}">{{ comment.created_time }}</time> <div> {{ comment.text|linebreaks }} </div> </li> {% empty %} 暂无评论 {% endfor %} </ul>要注意这里 {{ comment.text|linebreaks }} 中对评论内容使用的过滤器 linebreaks,浏览器会将换行以及连续的多个空格合并为一个空格。如果用户评论的内容中有换行,浏览器会将换行替换为空格,从而显示的用户评论内容就会挤成一堆。linebreaks 过滤器预先将换行符替换为 br HTML 标签,这样内容就能换行显示了。
然后将 detail.html 中此前占位用的评论模板替换为模板标签渲染的内容:
<h3>发表评论</h3> {% show_comment_form post %} <div> {% show_comments post %} </div>访问文章详情页,可以看到已经发表的评论列表了:
大功告成!