我正在开发一个小型博客引擎,以获得有趣的内容。同样在主页上,每篇博文都会被切成500个并显示出来。
当我对这个元素进行编码时,让我印象深刻的是这样的切片可能非常危险。假设博客文章中有一个<b></b>
标签,在标签打开后会被切片,这会使主页的每个其他内容变为粗体。
我想知道Django本身是否有任何机制只在html元素完全关闭之后才切片,或者是否有其他方法可以解决这样的问题。
答案 0 :(得分:3)
truncatewords_html
模板过滤器会考虑在切片时可能已打开但未关闭的标记。
查看文档:{{3}}以了解过滤器的用法,并查看_html_words()
函数的django / utils / text.py中的第140行,{{1} }}