Как я могу использовать синтаксический анализ IF тега django в пользовательском теге? - PullRequest
0 голосов
/ 12 августа 2011

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

{% linkif (section=='main') url %}Text{% endlinkif %}

чтобы избежать словоблудия как

{% if section == 'main' %}
   <a href="{{ url }}">text</a>
{% else %}
    text
{% endif %}

или

 {% if section == 'main' %}<a href="{{ url }}">{% endif %}text{% if section == 'main' %}</a>{% endif %}

оба из которых включают в себя повторение.

Если выражение имеет значение true, выводит ссылку на URL, окружающий текст, в противном случае просто выводится текст.

Как бы вы оценили выражение, используя логику тега IF django? Есть ли функция для вызова, которая может сделать это?

1 Ответ

0 голосов
/ 12 августа 2011

Я бы сказал так (и CSS тоже будет счастливее)

<a href="{% if section == 'main' %}{{ url }}{% else %}#{% endif %}">text</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...