一:模板渲染
一般的话都序列化成字符串


二:项目拆分
2.1 项目拆分



模型数据
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
配置


安装包

使用


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绑定



字段格式化(响应数据)
字符串



from flask_restful import Resource, fields, marshal_with
class 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
所有对象

参数解析(前端发送过来的数据)

