Django
SQLite
- 轻量级的嵌入式级的数据库
- 特点是小
- 常用场景
- Android、IOS、WP
- 数据库常规操作相似度与MySQL达95%
实现一个请求
- 注册一个路由
- 在urls.py中
- URL
- 参数 匹配规则 正则
- 视图函数
- 对应的是views中的一个函数
- 没有括号
- 对应的是views中的一个函数
- 视图类
- 继承自View
- 实现get/post方法
- URL
- 在urls.py中
- 去views中实现对应的函数
- 第一个参数时request
- 永远记得返回Response
Models使用了ORM技术
- Object Relation Mapping 对象关系映射
- 将业务逻辑进行了一个解耦合
- object.save()
- object.delete()
- 关系型数据库
- DDL
- 通过models定义实现 数据库表的定义
- 数据操作
- 增删改查
- 储存
- save()
- 查询
- 查所有 objects.all()
- 查单个 objects.get(pk=xx)
- 更新
- 基于查询的
- 查好的对象,修改属性,然后save()
- 删除
- 基于查询的
- 调用delete()
连接MySQL驱动
- mysqlclient
- python2,3都能使用
- 致命缺点:对MySQL的安装有要求,必须指定位置存在指定文件
- python-mysql
- 对Python2支持好
- 对Python3不支持
- pymysql
- python2,3都支持
- 还能伪装成前面的库
django shell
- 继承了Python环境的shell终端
- 通常在终端做一些调试工作
如何看待Bug
- 看日志
- 先看第一条
- 再看最后一条
- 梳理思路
- 程序在哪一个位置和预期出现偏差