Возврат тега включения - PullRequest
       18

Возврат тега включения

0 голосов
/ 10 сентября 2010

Я страдаю везде, где я пытаюсь сделать что-то необычное в 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 (сначала возвращается тегом включения), это нормальное поведение, но это не мое, я хочу.

помогите пожалуйста

1 Ответ

0 голосов
/ 10 сентября 2010

Не могли бы вы просто использовать простой тег:

@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}))
...