0

每当我尝试在 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 返回一个字典(首先由包含标记返回),这是正常行为,但这不是我想要的。

请帮忙

4

1 回答 1

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}))
于 2010-09-10T19:36:59.670 回答