最近从django1.9迁移到django2.0中出现一个意外的报错:
这个报错的原因在stack overflow上有很直接的解释,但是百度上并没有直接的答案。
简单来说,原因就是:django2.0 把原来的 django.core.urlresolvers 包 更改为了 django.urls包,所以我们需要把导入的包都修改一下就可以了。
下面是stack overflow上的解释:
-------------------------
ImproperlyConfigured: Passing a 3-tuple to include() is not supported. Pass a 2-tuple containing the list of patterns and app_name, and provide the namespace argument to include() instead.
python从入门到实践18.3.1映射URL出错
----------------
-
from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r'^admin/',admin.site.urls),
url(r'',include('learning_logs.urls',namespace = 'learning_logs')),
]
对比一下看出什么不同了吗?只需去掉第一个url后的include()
-
以下是修好后的代码图片: