Django学习之django3.0.3报错(Specifying a namespace in include() without providing an app_name)

赋料扬雄敌,诗看子建亲。这篇文章主要讲述Django学习之django3.0.3报错:Specifying a namespace in include() without providing an app_name相关的知识,希望能为你提供帮助。
在根目录下的urls.py中使用了include方法,并且使用了namespace参数,如下图:

url(r\'^my_app/\', include((\'my_app.urls\'), namespace="my_app"))

在启动项目时,会报错:\'Specifying a namespace in include() without providing an app_name \'
【Django学习之django3.0.3报错(Specifying a namespace in include() without providing an app_name)】 
 
 
 
Django学习之django3.0.3报错(Specifying a namespace in include() without providing an app_name)

文章图片

这是因为django2相对于django1做了改动,在include函数里增加了参数app_name,表示app的名字。
解决方法有两种:
1. 在include中传入该app的名字(第二个参数),即
url(r\'^my_app/\', include((\'my_app.urls\',\'my_app\'), namespace="my_app"))

2.在每一个app的urls.py文件中添加app_name变量,即
Django学习之django3.0.3报错(Specifying a namespace in include() without providing an app_name)

文章图片

 
 
url(r\'^my_app/\', include((\'my_app.urls\',app_name), namespace="my_app"))

 

    推荐阅读