Flask四大内置对象
- request
- session
- g
- global 全局
- 帮助我们实现全局数据共享
- 生命周期:在单次请求中
- config 或者 app
- 就是当前运行的项目
- 获取当前运行的App的位置
- 应该是存在价值和意义的
钩子函数
- 编程模型
- OOP
- 面向对象编程
- POP
- 面向过程编程
- IOP
- 面向接口编程
- AOP
- 面向切面编程
- OOP
- 动态介入到既有流程中
- 重要概念
- 切点
- 请求前
- 请求后
- 请求异常
- 切面
- 请求前
- request
- 请求后
- request
- response
- 请求异常
- exception
- request
- 请求前
- 切点
- Flask中就叫做钩子(切点)
- 蓝图和app上都有钩子函数
- app上的钩子优先级更高
- 蓝图只能处理本蓝图内容的信息
缓存
- 减少磁盘io可以大幅度提升服务器性能
- 实现
- flask-cache
- flask-caching
url_for
- 反向解析
- 动态获取地址
- url_for("视图函数名字" ) **一定是函数名字**
- 可以视图函数上的路由
- 带参
- url_for("视图函数名字", key=value, key=value)
- static
- url_for("static", filename="xxx")
- @app.route("/static/path:filename")
- def static(filename):
- 在app中是以上所说
- 在蓝图中前面要拼接蓝图的名字
- url_for("蓝图名.函数名")
-
users_blue = Blueprint("users_blue", __name__, url_prefix="/users") #举例 if user.save(): return redirect(url_for(‘users_blue.login‘)). #重定向到users_blue的login函数 else: return "注册失败"
模型
- 模型默认一定会在数据库中产生映射
- 如果模型不想在数据库中产生映射
-
- 需要模型是抽象的
- 抽象的模型不会有具体的实例
- __abstract__ =True
#定义一个基类函数,让其他函数继承自它 #但映射时还会产生这个函数对象的表,所以加上__abstract__ = True,变为抽象模型 class BaseModel(db.Model): __abstract__ = True id = db.Column(db.Integer, primary_key=True, autoincrement=True)
文件上传(图片)
- 文件不能一次传输
- 需要打碎,然后再拼装
- 中间需要对应的规则
- enctype
enctype="multipart/form-data"
原文地址:https://www.cnblogs.com/zbcdamao/p/10919370.html
时间: 2024-11-10 20:03:43