Шаблон Django, если тег основан на текущем значении URL - PullRequest
24 голосов
/ 18 сентября 2011

Я хочу иметь возможность сделать тег if, основываясь на текущем значении URL.

Например, если URL текущей страницы равен accounts/login/, тогда не показывать ссылку без передачи переменнойс точки зрения.

Я не уверен, как я могу написать для этого тег {% if %}, это возможно?

Ответы [ 2 ]

48 голосов
/ 26 февраля 2012

Вы также можете сделать это для динамических URL, используя:

{% url 'show_user_page' user=user as the_url %}
{% if request.get_full_path == the_url %}something{% endif %}

, где ваш urls.py содержит что-то вроде:

(r'^myapp/user/(?P<user>\d+)/$', 'show_user_page'),

Я знаю это, потому что я потратил целую вечность, составляявопрос stackoverflow, когда я нашел ответ в документах.

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

26 голосов
/ 18 сентября 2011

Если вы передаете объект «запрос» в свой шаблон, вы можете использовать это:

{% if request.get_full_path == "/account/login/" %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...