Django4.1.3 路由中namespace和name的使用报错
我的Django版本:4.1.3
命名空间的作用:避免不同应用中的路由使用了相同的名字发生冲突,使用命名空间区别开。
我的报错信息:
raise ImproperlyConfigured(
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.
翻译过来就是:
不支持在include()中指定命名空间而不提供app_name。在包含的模板中设置app_name属性,或者传递一个包含模板列表和app_name的二元组。
我的源代码
# app/urls.py
from django.urls import path
from req_res import views
urlpatterns = [
path('get_json_res/',views.get_json_res,name='get_res'),
]
# 项目工程下/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('res/',include(('res.urls'),namespace='res')),
]
此时就报以上的错误信息,
修改:
# 项目工程下/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('res/',include(('res.urls','res'),namespace='res')),
# 修改处:include()的第一个参数改为一个元组
]
参考来源: