在作为嵌套应用使用的可重用应用中反转 url
Reverse url in reusable app that is consumed as a nested app
回答了类似的问题 。
不过我的情况略有不同。我创建了一个名为 "categories" 的可重用应用程序。在我的项目中,我有一个名为 "dashboard" 的应用程序。仪表板应用程序包括可重复使用的 "categories" 应用程序。这导致以下内容用于反转 url
reverse('dashboard:categories:browse')
但是,我的可重用应用不知道 "dashboard" 命名空间。我希望能够使用我上面链接的解决方案仅在可重用类别应用程序中反转以下内容。
reverse('categories:browse')
目前,在categories.urls中设置app_name
无效。我在反转 "categories:browse" 时得到 NoReverseMatch
。
以下是应用程序如何包含在 urls.py 文件中的摘录。
# myproject/urls.py
url(
r'^dashboard/',
include(
'dashboard.urls',
namespace='dashboard',
)
),
# dashboard/urls.py
url(
r'^categories/',
include(
'categories.urls',
namespace="categories",
),
),
您可以直接在主 urls.py
中包含 categories
网址:
# myproject/urls.py
url(r'^dashboard/categories/', include('categories.urls', namespace='categories')),
url(r'^dashboard/', include('dashboard.urls', namespace='dashboard')),
这样你的 categories
网址就不会在嵌套的命名空间中,你可以简单地使用 reverse('categories:browse')
.
回答了类似的问题
不过我的情况略有不同。我创建了一个名为 "categories" 的可重用应用程序。在我的项目中,我有一个名为 "dashboard" 的应用程序。仪表板应用程序包括可重复使用的 "categories" 应用程序。这导致以下内容用于反转 url
reverse('dashboard:categories:browse')
但是,我的可重用应用不知道 "dashboard" 命名空间。我希望能够使用我上面链接的解决方案仅在可重用类别应用程序中反转以下内容。
reverse('categories:browse')
目前,在categories.urls中设置app_name
无效。我在反转 "categories:browse" 时得到 NoReverseMatch
。
以下是应用程序如何包含在 urls.py 文件中的摘录。
# myproject/urls.py
url(
r'^dashboard/',
include(
'dashboard.urls',
namespace='dashboard',
)
),
# dashboard/urls.py
url(
r'^categories/',
include(
'categories.urls',
namespace="categories",
),
),
您可以直接在主 urls.py
中包含 categories
网址:
# myproject/urls.py
url(r'^dashboard/categories/', include('categories.urls', namespace='categories')),
url(r'^dashboard/', include('dashboard.urls', namespace='dashboard')),
这样你的 categories
网址就不会在嵌套的命名空间中,你可以简单地使用 reverse('categories:browse')
.