摘要:使用蓝图的概念来制作应用程序组件和支持应用程序内部或跨应用程序的通用模式。蓝图可以大大简化大型应用程序的工作方式,并为扩展提供了在应用程序上注册操作的中心手段。相反,它是如何构造或扩展应用程序的蓝图。
蓝图
之前我们已经通过代码了解了一些Flask基本的用法,现在出现一个问题,我们要做的功能越来越多,路由是不是都要放在run文件中呢?例如我们在不同的文件都定义了一些路由,如果想要访问他们,是不是要开启很多个不同的服务呢?
Flask中提供了蓝图,专门用作Flask的模块化。
Flask使用蓝图的概念来制作应用程序组件和支持应用程序内部或跨应用程序的通用模式。蓝图可以大大简化大型应用程序的工作方式,并为Flask扩展提供了在应用程序上注册操作的中心手段。Blueprint对象的工作方式与Flask应用程序对象类似,但实际上它不是一个应用程序。相反,它是如何构造或扩展应用程序的蓝图。
总之,蓝图可以使我们的程序更加模块化,不同功能的路由可以放在不同的模块下,最后集中到启动类中。
首先,新建一个flask项目文件,建立文件结构如下图所示:
from app.movie.view import movie as movie_bp from app.tag.view import tag as tag_bp from flask import Flask if __name__ == "__main__": app = Flask(__name__) app.register_blueprint(tag_bp,url_prefix="/tag") app.register_blueprint(movie_bp,url_prefix="/movie") app.run(port=9099)模块一:标签
所有的路由和视图函数依旧多带带写在一个文件里面,这里起名view.py
from flask import Blueprint tag = Blueprint("tag",__name__) @tag.route("/") def index(): return "ok" @tag.route("/add/") def add(): return "tag add"模块二:电影
所有的路由和视图函数依旧多带带写在一个文件里面,这里起名view.py
from flask import Blueprint movie = Blueprint("movie",__name__) @movie.route("/") def index(): return "ok" @movie.route("/add/") def add(): return "movie add"
运行结果
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/44967.html
摘要:对象存储特定用户会话所需的属性及配置信息。当用户请求来自应用程序的页时,如果该用户还没有会话,则服务器将自动创建一个对象。当会话过期或被放弃后,服务器将终止该会话。因为的是通过加密之后放到了中。 什么是Session? cookie: 客户端浏览器的缓存; session: 服务端服务器的缓存; Session 和 Cookie类似,都是通过字典管理 key-value对。Sessi...
摘要:上传文件实现目标如何将文件上传到服务器保存在指定的文件夹需要建立当前工作环境下的目录,文件会保存在此目录下获取到用户上传的文件对象获取当前项目所在目录位置拼接路径,存储文件到上传成功 上传文件 实现目标: 如何将文件上传到服务器(保存在指定的文件夹) # 需要建立当前工作环境下的/static/face/目录,文件会保存在此目录下 import os from flask import...
摘要:是一个编写的微框架,让我们可以使用语言快速实现一个网站或服务。使用当你编写一个函数时,要想每个人都可以使用,需要用到来实现这个目标。 flask flask是一个Python编写的Web 微框架,让我们可以使用Python语言快速实现一个网站或Web服务。 使用flask 当你编写一个函数时,要想每个人都可以使用,需要用到flask来实现这个目标。 导入falsk.Flask类 实...
阅读 1174·2021-11-17 09:33
阅读 3561·2021-09-28 09:42
阅读 3224·2021-09-13 10:35
阅读 2356·2021-09-06 15:00
阅读 2383·2021-08-27 13:12
阅读 3580·2021-07-26 23:38
阅读 1728·2019-08-30 15:55
阅读 513·2019-08-30 15:53