Flask学习一 基本概念
所有Flask程序必须创建一个程序实例,app = Flask(__name__),
Web服务器使用WSGI(Web Server Gateway Interface)协议把接受自客户端的所有请求都转交给这个对象(app)处理。
一个基本的程序:
1 from flask import Flask 2 3 app = Flask(__name__) 4 5 @app.route('/user/<name>')#使用app.route装饰器,把函数注册为路由(URL到函数的映射关系) 6 def index(name):#视图函数,处理URL请求 7 return 'hello name'#返回的响应response 8 9 if __name__ == '__main__': 10 app.run(debug=True)#使用run方法启动Flask集成的开发Web服务器
一些基本概念:
1、程序和请求上下文
Flask使用上下文临时把某些对象变为全局可访问,与此同时却不会干扰其他线程。
current_app | 程序上下文 | 当前激活程序的实例 |
g | 程序上下文 | 处理请求时用作临时存储的对象 |
request | 请求上下文 | 请求对象,封装客户端的HTTP请求 |
sessioin | 请求上下文 | 用户会话,用于存储请求之间需要记住的值的字典 |
2、请求钩子
钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程序以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。
请求钩子使用装饰器实现。
before_first_request | 注册一个函数 | 在处理第一个请求之前运行 |
bdefor_request | 注册一个函数 | 在每次请求之前运行 |
after_request | 注册一个函数 | 如果没有未处理的异常抛出,在每次请求之后运行 |
teardown_request | 注册一个函数 | 即使有未处理的异常,也在每次请求之后运行 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】