1.首先第一点什么是flask:
Flask 官网上对它的定位是一个“微” python web 开发框架。
2.下面是对目录结构的讲解:
3.flask源码分析:
flask 有两个核心依赖库:werkzeug 和 jinja,而 werkzeug 又是两者中更核心的。
werkzeug 负责核心的逻辑模块,比如路由、请求和应答的封装、WSGI 相关的函数等;
jinja负责模板的渲染,主要用来渲染返回给用户的 html 文件内容。
4.flask文件依赖关系分析
-
主应用程序文件(如
app.py
):这是Flask应用程序的入口点,负责创建Flask应用对象,并配置路由和扩展等。它通常会导入其他模块或文件,并使用其功能。 -
路由模块/文件:这些文件定义了应用程序的各个路由和对应的视图函数。主应用程序文件会导入这些路由文件,并将其注册到应用对象上。路由文件通常包含多个视图函数,这些函数负责处理特定URL的请求,并返回相应的响应。
-
视图模块/文件:视图模块定义了各个视图函数的实现。这些文件被路由文件导入,并提供具体的业务逻辑,例如从数据库中检索数据、进行数据处理、调用其他模块等。视图函数通常会返回渲染好的模板或其他响应数据。
-
数据库模型:如果应用程序需要与数据库进行交互,通常会定义数据库模型。这些模型文件描述了数据库表的结构,并提供了操作数据库的方法。视图函数可以导入这些模型文件,并使用其方法来查询、插入、更新或删除数据。
-
表单模块/文件:表单模块定义了应用程序中使用的各种表单,包括用户注册、登录、提交数据等。这些表单通常使用Flask-WTF扩展库来简化处理和验证。视图函数可以导入这些表单模块,并根据需要使用表单对象来处理用户输入。