数据加载
- 从模型开始开发
- 定义模型
- 书写视图函数,添加对应的操作
- 实现模板渲染或结果返回
- 注册路由
PyCharm
- 存在很多优秀的快捷键
- 可以安装丰富的插件
urls
- 拆分urls
- 按应用去拆分urls
- 解耦
- url规则
- 根url + app中的url
- app/ hello/
- app/hello/
连接数据库
python连接mysql
- pymysql
- python2 python3都可以直接使用
- django中需要一个额外配置
- mysqlclient
- 对mysql安装是有要求
- mysql.config
- python-mysql
- 对python2支持不错
- python3默认安装不上,修改源代码可以安装,但是有bug
运行时出现提示:
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named ‘MySQLdb’.
Did you install mysqlclient or MySQL-python?
解决方法:
在项目的_init_.py文件中 添加两行代码
import pymysql
pymysql.install_as_MySQLdb()
models
- 模型
- 表
- 属性
- 字段
- 一个模型对应一张表
- 一个属性对应一个字段
数据操作
- save() 数据存储
数据查询
筛选
- filter
- 获取符合条件的数据
- exclude
- 获取不符合条件的,排除符合条件的
- 多次筛选可以连续调用,链式调用
- filter
排序
- 在结果集上order_by
- 在元信息添加 ordering
- 获取
- get
- 双刃剑
- 如果数据不存在,会直接抛出异常 DoesNotExist
- 如果数据存在多个,也会直接抛出异常 MultipleObjectsReturned
- 使用的时候记得 try … except
- first
- 获取第一个对象
- get
查询条件
- 条件格式
- 字段名__运算符=临界值(value)
- lt
例子:Teacher.objects.filter(t_age__lt=39) - gt
- lte
- gte
- exact
- startswith
- endswith
- contains
- ignore 忽略,忽略大小写
- 可以拼接在上面四个操作符上