| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Python知识库 -> 大型项目结构与蓝图 -> 正文阅读 |
|
[Python知识库]大型项目结构与蓝图 |
一、Flask上下文# Flask上下文 1、请求上下文request ? session 2、应用上下文current_app 代表当前app ? app可以完成跨视图函数访问 ? g ? 全局的变量 ? 但是不能跨视图函数访问 2.应用上下文: current_app与g对象 app = Flask(__name__) def db_query(): @app.route('/') 二、蓝图1、蓝图介绍蓝图(blueprint):用于实现单个应用的视图、模板、静态文件的集合。 ? 蓝图就是模块化处理的类。类似于django中app,子应用。 ? 简单来说,蓝图就是一个存储操作路由映射方法的容器,主要用来实现客户端请求和URL相互关联的功能。 在Flask中,使用蓝图可以帮助我们实现模块化应用的功能。 ? flask中,将项目模块化,blueprint,是flask自带的一种开发模式,目的是为了方便开发大型的项目 2、使用蓝图使用蓝图 3步走 app = Flask(__name__) ? # 1、创建一个蓝图模板 main_blue = Blueprint("main", __name__) ? ? # 2、 定义视图函数 使用蓝图配置路由 @main_blue.route("/") def home(): ? return "<h1>欢迎来到2050年</h1>" ? ? @main_blue.route("/login") def login(): ? return "<h1>登录成功</h1>" ? ? # 3、把蓝图 注册到 app上 app.register_blueprint(main_blue)
我们可以 添加 url_prefix 添加一个路由前缀,这样子 这个蓝图上的所有路由都有了这个前缀。 三、Flask-RESTful1、下载第三方模块pip install flask-restful 2、怎么使用flask-restful 引入了两个类 一个API类 一个是 Resource类 # 简单接口的实现 app = Flask(__name__)
Resource类 用来定义视图类 API类 用来管理视图类 # Flask-RESTful配合蓝图: # users_bp.py: 蓝图编码 # 创建蓝图对象 # 创建蓝图视图 # 添加蓝图路由 # 主程序编码 app = Flask(__name__) if __name__ == '__main__': 四、装饰器1、视图类添加Flask-Restful 框架 定义的 Resource视图类中 都有一个属性 method_decorators,可以在这里方法里声明 多个装饰器 这样子,会作用在 每一个视图类中的方法上。 method_decorators = [checkIsNone, decorator2] 2、单方法添加我们也可以给每一个函数,进行单独的添加 ? method_decorators = { ? ? ? "get": [checkIsNone], ? ? ? "post": [decorator2] ? } # 给视图类中的所有方法加装饰器
? ? def get(self): ? ? def post(self): # 指定方法加指定装饰器 ? ? ? # 使用了decorator1 decorator2两个装饰器 ? ? ? # 使用了decorator1 装饰器 ? ? ? # 未使用装饰器 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 23:43:52- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |