Django 2:项目根URL命名空间不起作用

5
我可以帮忙翻译。以下是关于项目根目录下的urls.py中的URL模式:
from django.contrib import admin
from django.urls import path, include


urlpatterns = [
    path('admin/', admin.site.urls),
    path('main/', include('main.urls', namespace='main')),
]

但是Django报错并显示以下信息:
django.core.exceptions.ImproperlyConfigured: Specifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in the included module, or pass a 2-tuple containing the list of patterns and app_name instead.

根据Django的文档,'main'的模式应该是正确的。问题出在哪里?

2
你尝试按照指示去做了吗?在所包含的模块中设置app_name属性。 - Daniel Roseman
1个回答

9
您需要在main.urls文件中添加app_name = 'main'。请参见此处的示例和说明。

1
问题:我如何“传递一个包含模式列表和应用程序名称的2元组”? - Randy Tang
2
@SugarTang 类似这样 include((pattern_list, app_name), namespace=None)。更多细节请参考:https://docs.djangoproject.com/en/2.0/ref/urls/#include - neverwalkaloner

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接