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方法模型之类的,自己别搞混就好。

posted @ 2023-09-14 10:56  KongLong_cm  阅读(16)  评论(0编辑  收藏  举报