关于版本问题
为什么要装两个版本?
Django 2.0支持Python 3.4,3.5和3.6,不再支持python2.x
Django 1.11.x是支持Python 2.7的最后一个版本。
Django 2.0是最后一个支持Python 3.4的版本,并且只支持到2019年4月,到时如果你仍然计划使用Python 3.4,可以用Django 1.11 LTS(支持到2020年4月)。 不过需要注意的是,Python 3.4的使用期限是2019年3月。
目前来说,博主还是习惯使用Django1.11.9版本,但是人总是要往高处走的嘛,我们要慢慢的向Django2.x前进,及时更新自己!
Django2.x与Django1.11.9区别:
路由层的区别
- django 1.11.9使用的是url函数
- django 2.x使用的是path和re_path函数,其中,re_path函数与url函数使用方法完全相同。path函数中,第一个参数为绝对匹配,写什么就匹配什么。
- Django 2.x 默认支持以下5个转化器:
- str,匹配除了路径分隔符(/)之外的非空字符串,这是默认的形式
- int,匹配正整数,包含0。
- slug,匹配字母、数字以及横杠、下划线组成的字符串。
- uuid,匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。
- path,匹配任何非空字符串,包含了路径分隔符(/)(不能用?)
- 自定义转换器
对于一些复杂或者复用的需要,可以定义自己的转化器。转化器是一个类或接口,它的要求有三点:
- regex 类属性,字符串类型
- to_python(self, value) 方法,value是由类属性 regex 所匹配到的字符串,返回具体的Python变量值,以供Django传递到对应的视图函数中。
- to_url(self, value) 方法,和 to_python 相反,value是一个具体的Python变量值,返回其字符串&#