Flask入门
一、flask安装
首先我是用的conda环境,我创建了一个python版本为3.10的名称为flask的conda环境,python版本是3.10.12,激活该环境后需要下载flask,flask我没有指定版本,下载的是当前最新的版本2.3.3。安装flask的时候会默认附加安装 jinja2等等一系列的包。然后后面需要连接数据库的话就是还需要安装pip这几个包:
flask-sqlalchemy
:这个是flask的插件,用于orm和数据库进行映射的;
flask-migrate
:这个也是flask的插件,用于数据迁移;
pymysql
:这个是用来连接mysql的。
二、flask项目
2.1 大型项目架构
参考B站知了传课p19
1.创建好一个初始的flask项目文件后,去项目根目录下创建config.py文件,这个文件用来设置项目的配置文件,去app.py文件下引入该文件,绑定该配置文件。
# 绑定配置文件 app.config.from_object(config)
2.然后就是创建一个exts.py文件,这个文件用来写一些插件的。啊,这你可能要问了,我把插件什么的像sqlalchemy放在app.py不是也是可以的吗,是的没错,但是因为项目为了文件目录什么的更清楚一点需要把models模型这些单独放在一个python文件中比较清楚,为了避免app.py 和 models.py 互相相互引用了产生循环,所以 exts.py 文件就出现了,可以让 models.py 文件和 app.py 文件都引用exts.py 文件,app.py 文件用来写 url 方法对数据库进行增删改查等操作需要用到 models.py 文件中创建好的模型来和数据库映射,所以 app.py 文件还需要引用 models.py 文件 。而 models.py 文件只需要引用 exts.py 文件来创建模型就好了。注:app.py文件引用 exts.py 文件时需要 在app.py 中加上代码:db.init_app(app)
表示先初始化后面再绑定。
from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy()
3.项目的模块化,就是flask下的 bluePrint 对 url 进行一个分割模块化,我理解的是这样,后面每个函数方法不用 app.route 而是 such as:bp.route 这样其实就是自动加了一个前缀,我感觉不用也行,自己记得住分得清就行。如果用的话也要记得在 app.py 中引入 blueprint 然后绑定才可以。
2.2 小型项目
要是写的页面什么的不是很多,一个小项目,额你就全都放在 app.py 里面就好了,比如数据库的配置,url方法模型之类的,自己别搞混就好。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义