一:模板渲染
一般的话都序列化成字符串
二:项目拆分
2.1 项目拆分
app.py
init.py
views.py
models.py
模型数据
2.2 蓝图
三:路由参数
3.1 String
重点
3.2 int
3.3 path
3.4 UUID
3.5 any
四:请求方式
五:Request对象
模拟前端发请求
get请求参数
post请求参数
六:Response对象
七:重定向
八:flask的会话技术
8.1 Cookies
8.2:Session
...
九:Templates
一般使用Vue开发前后端分离项目
十:Model
配置
安装包
使用
views.py
init.py
exts.py(放插件)
models.py(模型基础)
from .exts import db# 模型类的 class User(db.Model):# 表__tablename__: 'tb_user'# 字段id = db.Column(db.Integer, primary_key=True, autoincrement=True)name = db.Column(db.String(30), unique=True, index=True)age = db.Column(db.Integer, default=1)sex = db.Column(db.Boolean, default=True)salary = db.Column(db.Float, default=True, nullable=False)
模型类->表结构(模型迁移)
重新迁移一般不需要执行init
十一:加入模型后的项目拆分
主要是用mysql
十二:单表操作
添加
删除
修改
查询
filter后可以继续过滤
filter可以用于非等值操作,而fliter_by只能等值操作
默认就是and
分页
十三:多表查询
十四:进阶
导包、注册
缓存插件
十五:钩子(AOP)
十六:内置对象
十七:static和templates
十八:类视图(前后端分离)
Restful
删除views,不用蓝图
写一个controller(apis)
和app绑定
创建urls.py
字段格式化(响应数据)
字符串
from flask_restful import Resource, fields, marshal_withclass HelloResource(Resource):def get(self):return 'get'def post(self):return 'post'ret_fields = {'status': fields.Integer,'msg': fields.String,'data': fields.String }class UserResource(Resource):@marshal_with(ret_fields)def get(self):return {'status': 1,'msg': 'ok','data': 'python'}
default、attribute
对象
URL
所有对象