Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/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
比较Django模板中的URL_Django_Django Templates_Django Urls - Fatal编程技术网

比较Django模板中的URL

比较Django模板中的URL,django,django-templates,django-urls,Django,Django Templates,Django Urls,在django模板中,如果url/路径是特定的,我不想显示某些元素。在伪文本中: {% if not url = account:detail %} 在这里,我们可以通过两个步骤来实现这一点: 首先,我们生成url,并将其分配给一个变量(这里是url2);及 接下来比较URL 因此: {%url帐户:详细信息为url2%} {%if url!=url2%} {%endif%} 但是请注意,如果两个URL在语法上不同(例如yourdomain.com/foo和/foo),则它们本身指向不同的内

在django模板中,如果url/路径是特定的,我不想显示某些元素。在伪文本中:

 {% if not url = account:detail %}

在这里,我们可以通过两个步骤来实现这一点:

  • 首先,我们生成url,并将其分配给一个变量(这里是
    url2
    );及
  • 接下来比较URL
  • 因此:

    {%url帐户:详细信息为url2%}
    {%if url!=url2%}
    {%endif%}
    但是请注意,如果两个URL在语法上不同(例如
    yourdomain.com/foo
    /foo
    ),则它们本身指向不同的内容


    如果你想访问当前路径,你可以像@RajaSimon所说的那样,通常使用
    request.path
    (假设你使用
    RequestContext
    render(…)
    ,或者另一种传递
    request
    对象的方式来呈现模板)。

    你可以给你的url一个名称(url\u name)在URL.py文件中,然后可以使用模板中可用的对象直接进行比较

    from django.urls import path
    from . import views
    
    urlpatterns = [
        path('articles/<int:year>/', views.year_archive, name='news_year_archive'),
        # ...
    ]
    

    @user3541631:您的评论很混乱,请您重新阅读,并修复“语法”好吗?@user3541631您可以使用
    请求获取当前页面url。path
    这就是您要问的吗?如果是这样,您的条件应该是
    {%If request.path!=account\u detail\u url%}
    @WillemVanOnsem-我想检查当前url/页面是否与预定义页面相同。我可以从request.path获取的当前页面/url。要将request.path与“account:detail”进行比较,我想我需要“解决”,不是吗?但是我如何在模板中设置resolve?@user3541631:但是您在模板中解析它,我们在这里解析它,路径存储在
    url2
    变量中。因此,您可以在模板中比较
    {%if request.url!=url2%}
    @user3541631,您可以使用
    url
    模板内置来解析。
    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 %}