if语句Django中的url解析器
只是想知道检查当前路径是否等于某个url的正确语法是什么:if语句Django中的url解析器,django,django-urls,django-1.11,django-request,Django,Django Urls,Django 1.11,Django Request,只是想知道检查当前路径是否等于某个url的正确语法是什么: {% if request.path == url "app_namespace:route_name" %} 上述方法不起作用-但希望有人知道执行此查找的方式或方法…您可以使用此语法将url路径保存在模板变量中: {% url 'app_namespace:route_name' as url_path %} 以后可以在条件下使用 {% if request.path == url_path %}...{% endif %} 请
{% if request.path == url "app_namespace:route_name" %}
上述方法不起作用-但希望有人知道执行此查找的方式或方法…您可以使用此语法将url路径保存在模板变量中:
{% url 'app_namespace:route_name' as url_path %}
以后可以在条件下使用
{% if request.path == url_path %}...{% endif %}
请注意,当需要在块中使用url
函数的输出时,您可能会发现此语法也很有用:
{%blocktrans%}
{%endblocktrans%}
app\u namespace:route\u name的可能重复项不太有效-“app\u namespace:route\u name”被解释为字符串…@MichaelRoberts嗯,是的,你必须对照硬编码的值进行检查,对吗?否则,我不确定您在这里想要完成什么。不-因为它只是检查url\u name==app\u namespace:route\u name。。。我想对照{%url app_namespace:route%}的计算结果来检查它。我真的搞不懂你到底想在这里实现什么。您还可以尝试使用{%url'app\u namespace:route\u name'作为url\u path%}
,然后使用{%if request.path==url\u path%}
@MichaelRoberts请查看-我更新了答案。
{% blocktrans %}
<a href="{{ url_path }}">text to translate</a>
{% endblocktrans %}