Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
if语句Django中的url解析器_Django_Django Urls_Django 1.11_Django Request - Fatal编程技术网

if语句Django中的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 %} 请

只是想知道检查当前路径是否等于某个url的正确语法是什么:

{% 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 %}