如何将代码升级到Django 2或使用类似于Django 1.9中的“ path”?

时间:2019-02-16 16:24:22

标签: python django

我正在使用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类似的东西?

1 个答案:

答案 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')),
    ...
]

取自Documentation

没有路径模块,因此会引发错误。

此外,如果不需要太多工作,我建议更新到 Django 2.1

这是guide的用法说明。对于2.1版,您必须使用以下python版本之一:3.5、3.6、3.7。 Django-Python