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()的第一个参数改为一个元组
]

参考来源:

https://stackoverflow.com/questions/48608894/improperlyconfigurederror-about-app-name-when-using-namespace-in-include

posted @ 2022-11-23 17:36  来日可追  阅读(158)  评论(0编辑  收藏  举报