当我尝试在django中做一些不常见的事情(在django中,而不是在python中)时,我很痛苦。
例如,我不知道如何返回包含标记。这个。显然,不会起作用:
@register.inclusion_tag('template.tpl')
def myinclusiontag(parameter):
return {'var': parameter.attr1}
@register.inclusion_tag('template2.tpl')
def myinclusiontag2(parameter):
return {'var': parameter.attr2}
@register.simple_tag
def mysimpletag(paramter):
if parameter.attr: return myinclusiontag(parameter)
else: return myinclusiontag2(paramter)
mysimpletag返回一个dict(首先由包含标记返回),这是一个正常的行为,但这不是我想要的。
帮助请
答案 0 :(得分:0)
你可以自己使用简单的标签:
@register.simple_tag
def mysimpletag(parameter):
if parameter.attr:
t = loader.get_template('template.tpl')
parm = parameter.attr1
else:
t = loader.get_template('template2.tpl')
parm = parameter.attr2
return t.render(Context({'var':parm}))