gpt4 book ai didi

python - 三个应用程序同一个命名空间

转载 作者:太空宇宙 更新时间:2023-11-03 15:07:31 25 4
gpt4 key购买 nike

我想做的是为两个或更多应用程序拥有通用的命名空间。

假设我有一个应用程序文件夹,其中包含 3 个应用程序:仪表板(用于显示其他应用程序的管理面板)、客户端(显示精美的表格)和订单(与客户端相同)。看起来像这样:

--  apps
|-- dashboard
| |-- views.py
| |-- models.py
| |-- urls.py
|-- clients
| |-- views.py
| |-- models.py
| |-- urls.py
|-- orders
| |-- views.py
| |-- models.py
| |-- urls.py

在我的主 urls.py 中,我有:

url(r'^dashboard/', include('apps.dashboard.urls',
namespace='dashboard',
app_name='dashboard')),

在仪表板/urls.py中:

url(r'^clients/', include('apps.clients.urls')),
url(r'^orders/', include('apps.orders.urls')),

在客户端中:

url(r'^$', views.AllClientsList.as_view(), name='clients-all'),

因此,我希望客户端和订单应用程序中的网址具有相同的命名空间,将它们用作 {% url "dashboard:clients-all" %} 。但它根本不起作用 - NoReverseMatch: Reverse for 'customers_detailed' not found. 'customers_detailed' is not a valid view function or pattern name.

有什么办法吗?

更新:链接如 <a href='{% url 'dashboard:customers-all' %}'>Customers</a>抛出错误“未找到‘customers-all’的反向操作。‘customers-all’不是有效的 View 函数或模式名称。”url.py

 urlpatterns = [ url(r'^dashboard/', include('apps.dashboard.urls')), ] 

apps/dashboard/urls.py

 app_name = 'dashboard'
urlpatterns = [ url(r'^customers/', include('apps.customers.urls')), ]

apps/customers/urls.py

 app_name = 'customers'
urlpatterns = [ url(r'^$', views.AllCustomerList.as_view(), name='customers-all'), ]

最佳答案

由于您的dashboard url 包含customers url,因此您需要包含嵌套命名空间:

{% url 'dashboard:customers:customers-all' %}

关于python - 三个应用程序同一个命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44523908/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com