Подтвердить что ты не робот

Шаблон Django, если тег основан на текущем значении URL

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

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

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

4b9b3361

Ответ 1

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

{% if request.get_full_path == "/account/login/" %}

Ответ 2

Вы также можете сделать это для динамических 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'),

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

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