django报错: 'Specifying a namespace in include() without providing an app_name ’
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,即当前应用名。
原来代码
项目下的urls.py文件,这个文件是路由入口,分发url到rbac应用下
from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include('web.urls')),
url(r'^rbac/',include('rbac.urls',namespace="rbac"))
]
修改后
from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include('web.urls')),
url(r'^rbac/',include(('rbac.urls',"rbac"),namespace="rbac"))
]
include分发到rbac中urls文件时,第二个参数为rbac应用,即成功运行