在Django模板标记中包含URL

时间:2013-04-04 03:24:15

标签: python html django

我正在构建一个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

1 个答案:

答案 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)