在Django模板中,如果URL /路径是特定的,我不想显示某些元素。伪:
{% if not url = account:detail %}
答案 0 :(得分:3)
我们可以在此处分两个步骤进行操作:
url2
);和所以:
{% url account:detail as url2 %}
{% if url != url2 %}
<!-- ... (do something) ... -->
{% endif %}
但是请注意,如果两个网址在语法上不同(例如yourdomain.com/foo
和/foo
),则它们本身会指向不同的内容。
如果您想访问 current 路径,则可以-就像@RajaSimon所说的那样,通常使用request.path
(假设您使用RequestContext
,{{ 1}},或传递render(..)
对象的另一种方法。
答案 1 :(得分:1)
您可以在urls.py文件中为您的网址命名(url_name),然后可以使用模板中可用的HttpRequest.resolver_match对象直接进行比较。
from django.urls import path
from . import views
urlpatterns = [
path('articles/<int:year>/', views.year_archive, name='news_year_archive'),
# ...
]
您可以在模板中进行比较,
{% if request.resolver_match.url_name == "news_year_archive" %}
...your stuff
{% endif %}