python - 如何将代码升级到 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 或如何使用类似于path
Django 1.9 的东西?
解决方案
这是在 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
推荐阅读
- javascript - 如果超时过期如何跳过一段代码
- swift4 - 将 Int64 的可变数组从 Swift 传递到 C
- python - 使用 try-except 打开文件
- r - 如何 print.summarytools - 使用我们没有 view() 的包装器
- esp8266 - 如何构建 SPIFFS 和 LFS 文件系统?/本地/spiffs;/本地/lfs
- cplex - 我们可以在通过列生成方法解决问题的同时只将唯一列添加到元组中吗?
- spring-boot - 如何在 Swagger 中为基于 webflux 的 Spring-boot 项目添加错误响应格式
- java - Tomcat Embed jar 文件无法加载
- tensorflow - Keras fit() 与 train_on_batch() 损失差异
- javascript - 我正在使用 async/await 但它仍然返回 undefined