我正在构建一个Django博客应用程序,因为这显然是所有酷孩子们正在做的事情。我已经构建了一个模板标签,如果它很长,只显示帖子的开头,理想情况下包含一个指向整个帖子的链接。我开始考虑转义和IsSafe = True,但我担心的是内容本身可能包含HTML标签,可能会搞砸。
这就是我现在所拥有的:
@register.filter(name='shorten')
def shorten(content):
#will show up to the first 500 characters of the post content
if len(content) > 500:
return content[:500] + '...' + <a href="/entry/{{post.id}}">(cont.)</a>
else:
return content
答案 0 :(得分:1)
from django.utils.safestring import mark_safe
@register.filter(name='shorten')
def shorten(content, post_id):
#will show up to the first 500 characters of the post content
if len(content) > 500:
output = "{0}... <a href='/entry/{1}'>(cont.)</a>".format(content[:500], post_id)
else:
output = "{0}".format(content)
return mark_safe(output)