首页 > 解决方案 > 如何将代码升级到 Django 2 或在 Django 1.9 中使用类似于“路径”的东西?

问题描述

我使用的是 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 或如何使用类似于pathDjango 1.9 的东西?

标签: pythondjango

解决方案


这是在 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 。

这是有关如何执行此操作的指南。对于 2.1 版,您必须使用以下 python 版本之一:3.5、3.6、3.7。Django-Python


推荐阅读