【问题标题】:Django - Combining Urls from different appsDjango - 组合来自不同应用程序的 URL
【发布时间】:2021-10-25 15:55:54
【问题描述】:

我对 Django 还很陌生,我有一个关于如何管理多个 Django 应用程序的问题。我有一个处理用户帐户的应用程序,它显示用户的个人资料页面和仪表板。但是,我有另一个名为 blogs 的应用程序,我想在其中显示该用户撰写的博客。

我基本上想要的是在导航栏中有一个单独的选项卡,上面写着“博客”,当你点击博客时,它应该转到 URL“localhost:8000/user/blogs”而不仅仅是 localhost:8000/blogs .我怎样才能以这种方式组合这两个应用程序?

【问题讨论】:

    标签: python-3.x django


    【解决方案1】:

    在你的“根”urls.py:

    from django.urls import path, include
    
    urlpatterns = [
        ...
        path('users/', include(('usersapp.urls', 'usersapp'), namespace='usersapp')),
        ...
    ]
    

    在您的用户应用中urls.py

    from django.urls import path, include
    
    urlpatterns = [
        ...
        path('blogs/', include(('blogsapp.urls', 'blogsapp'), namespace='blogsapp')),
        ...
    ]
    

    现在你必须在你的模板中做:

    {% url '<namespace>:<urlname>' %}
    

    例如:

    {% url 'blogsapp:index' %}
    

    【讨论】:

    • 谢谢恩恩的回答!所以我已经这样做了,但是我该如何做到这一点,以便当我点击导航栏上的博客时,它会转到 /user/blogs?
    • 现在,它会一事无成:&lt;li class="nav-item active"&gt; &lt;a class="nav-link" href="#"&gt;View Blogs&lt;/a&gt; &lt;/li&gt;
    • 已编辑...........
    • 工作就像一个魅力!非常感谢!!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    • 2018-02-04
    • 2016-10-13
    • 1970-01-01
    • 2011-03-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多