想把Django项目从Django1.11升级到Django2,当中有不小改动。
其中的url.py的用法就发生了很大的变化,链接更加灵活,减少了正则匹配的使用了。

运行环境 Runtime environment

1
2
3
操作系统 : Ubuntu18.04
IDE: JetBrains pycharm 2018.2.4 x64
Python: 3.6

背景

从Django2.0开始,urls.py配置方法有很大改变,所以老项目升级的时候,那报错真是哇哇直叫啊。

主要变化

  1. 把url函数换成path
  2. 不在使用^、$作为路由
  3. 其他地方以后再进一步研究

具体案例

url.py文件的样例代码:

1
2
3
4
5
6
7
8
9
10
11
from django.contrib import admin
from django.urls import path #此处应用path,老板本使用的是url
from appchat import views

urlpatterns = [
path('admin/', admin.site.urls),
path('login/', views.acc_login,name='login'),
path('logout/', views.acc_logout, name='logout'),
path('',views.index,name='index'), #此处设置为首页,以前写法是'^$',新版本不再使用^、$,只需要‘’就可以

]

总结

Django2的变化还有很多。不过最直观和常用到的,那就url.py这一路由文件的变化。