2015-01-05 4 views
0

Это кажется такой простой вещикой, но я не могу заставить ее работать на один, а два я, похоже, не получаю прямой ответ в Интернете, так как может или может не будет сделано.Django template custom tag as boolean

Я просто хочу простой тег, который будет работать как так

{% if my_tag %} 
render something 
{% else %} 
render something else 
{% endif %} 

теперь я не забочусь о фильтрах или любыми другими способами, вы могли бы быть в состоянии сделать то же самое, я хочу, чтобы она выглядела точно как это, и работать, как описано выше, у меня есть простой тег сделал, что на самом деле возвращает истину или ложь, как это необходимо, и это называется, если я называю тег, как этот

{% my_tag%}

однако это делает 't вызывается, если я добавляю if, если перед тегом, это функция, которая упрощает e и логические не реализованы?

+0

возможно дубликат [как использовать пользовательские Джанго templatetag с Джанго шаблон, если заявление?] (http://stackoverflow.com/questions/14767516/how-to-use-custom-django-templatetag-with- django-template-if-statement) –

+0

это неправда то, что я повторил, потому что ответ на самом деле не отвечал на вопрос о погоде, или нет, на самом деле это можно сделать, не было никаких реальных разъяснений, если бы ответ был только авторским способ решения проблемы, или необходимость неспособности джанго сделать такой простой рабочий процесс. – ShinySides

+0

Вы видели это? https://gist.github.com/xtranophilist/6637377 – PhoebeB

ответ

0

Как ссылка на потенциальные дублирующие состояния, вы можете использовать assignment tag, аналогичный приведенные ниже, возвращающие текущее время:

@register.assignment_tag 
def get_current_time(format_string): 
    return datetime.datetime.now().strftime(format_string) 

В шаблоне, то вы можете сделать то, что вы желая сделать:

{% if get_current_time %} 
...show time 
{% else %} 
...don't show time 
{% endif %} 
Смежные вопросы