Flask模型
解析: https://www.jianshu.com/p/f62a3ed4d56b
Flask模型
什么是模型
模型是根据数据库中表的结构来创建出来的class。每一张表到编程语言中就是一个class,表中的每一个列,到编程语言中就是class中的一个属性。
创建和使用模型
什么是ORM
Object Relational Mapping
简称:ORM , O/RM , O/R Mapping
中文:对象关系映射
ORM的三大特征
数据表(table)到编程类(class)的映射
数据库中的每一张表 对应 到编程语言中,都有一个类
在ORM中允许将数据表自动生成一个类,也允许将类自动生成一张表
数据类型的映射
将数据库表中的字段以及数据类型对应到编程语言中类的属性
在ORM中允许将表中的字段和数据类型自动映射到编程语言中,也允许将类中的属性和类型也映射到数据库表中
关系映射
将数据库中表之间的关系对应到编程语言中类之间的关系
ORM的优点
提高了开发的效率
可以省略庞大的数据访问层,即便不用SQL编码也能完成对数据的CRUD操作
注意:Flask默认并没有提供任何数据库操作的API
我们可以选择任何适合自己项目的数据库来使用
Flask中可以自己的选择数据,用原生语句实现功能,也可以选择
ORM (SQLAIchemy, MongoEngine )
原生SQL缺点
代码利用率低,条件复杂代码语句越长,有很多相似语句
一些SQL是在业务逻辑中拼出来的,修改需要了解业务逻辑
直接写SQL容易忽视SQL问题
1、base.html bootstrap 的介绍 了解
base.html 基层模板页
fixes.html 宏定义的 ie8兼容
{% import "bootstrap/fixes.html" as fixes %}
{% block head %}
{{super()}}
{{fixes.ie8()}}
{% endblock %}
google.html 谷歌的用户行为分析
{% import "bootstrap/google.html" as google %}
{% block scripts %}
{{super()}}
{{google.uanalytics('U-XXXX-YY')}}
{{google.uanalytics('U-XXXX-YY', {'userId': 'myUser'})}}
{% endblock %}
pagination.html 分页功能
utils.html 工具
###前端引用
{% for message in get_flashed_messages() %}
<h2>{{ message }}</h2>
{% endfor %}
##后台定义
flash('用户名不能为空', 'danger')
return redirect(url_for('second_blue.login'))#重新返回这个页面
wtf.html
- 在内部已经为我们封装好了前端页面的form
- 已经做好了校验的工作