强制Django模板渲染大括号值?

时间:2015-03-14 12:34:43

标签: django django-templates

我的数据来自数据库中的字段:

item_list = Links.objects.filter(visible=True)

在item_list的迭代中有item.name和item.link。在item.link中,可能存在字符串值

'/app/user/{{user.id}}/'.

在Django模板中渲染这个特定的item.link时,它在html输出中字面上显示为:

/应用程序/用户/ {{user.id}} /

字面意思是我希望它呈现为:

/应用程序/用户/ 1 /

有没有办法强制模板将其识别为输出的编译值?

1 个答案:

答案 0 :(得分:1)

您必须创建custom template tag

from django import template

register = template.Library()

@register.simple_tag(takes_context=True)
def render(context, tpl_string):
    t = template.Template(tpl_string)
    return t.render(context)

在你的模板中:

{% load my_tags %}

{% render item.link %}