我正在使用Django 1.9,并按如下所示升级到Django 2.0:
pip install -U django
检查:
python3 -m django --version
> 2.1.7
更新Django的主要原因是使用path
。据我了解,path
在Django 1.9中不可用。
因此,我的代码中有此导入内容:
from django.conf.urls import url
from django.urls import path # !!! this line fails !!!
from django.contrib import admin
from my_tests import views
urlpatterns = [
path('admin/', admin.site.urls),
path("test", views.test_endpoint, name='test_endpoint')
]
但是,当我运行代码时,它会引发以下错误:
ModuleNotFoundError: No module named 'django.urls'
看起来它仍在使用旧版本的django。
如何解决此错误?我应该如何升级到Django 2或如何使用与Django 1.9中的path
类似的东西?
答案 0 :(得分:2)
这是在Django 2之前完成的方式:
from django.conf.urls import include, url
urlpatterns = [
url(r'^index/$', index_view, name='main-view'),
url(r'^test/', test_view, name='test_endpoint'),
url(r'^weblog/', include('blog.urls')),
...
]
没有路径模块,因此会引发错误。
此外,如果不需要太多工作,我建议更新到 Django 2.1 。
这是guide的用法说明。对于2.1版,您必须使用以下python版本之一:3.5、3.6、3.7。 Django-Python