Flask的安装以及项目的搭建
开始之前
这是一篇写给自己的教程,如果有什么疑问请留言
flask简介
简介
Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug 工具箱编写的轻量级Web开发框架。
Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login,数据库Flask-SQLAlchemy),都需要用第三方的扩展来实现。比如可以用 Flask 扩展加入ORM、窗体验证工具,文件上传、身份验证等。Flask 没有默认使用的数据库,你可以选择 MySQL,也可以用 NoSQL。
其 WSGI 工具箱采用 Werkzeug(路由模块),模板引擎则使用 Jinja2。Itsdangrous这两个也是 Flask 框架的核心。
官网: https://flask.palletsprojects.com/en/1.1.x/
官方文档: http://docs.jinkan.org/docs/flask/
Flask常用第三方扩展包:
- Flask-SQLalchemy:操作数据库,ORM;
- Flask-script:终端脚本工具,脚手架;
- Flask-migrate:管理迁移数据库;
- Flask-Session:Session存储方式指定;
- Flask-WTF:表单;
- Flask-Mail:邮件;
- Flask-Bable:提供国际化和本地化支持,翻译;
- Flask-Login:认证用户状态;
- Flask-OpenID:认证, OAuth;
- Flask-RESTful:开发REST API的工具;
- Flask JSON-RPC: 开发rpc远程服务[过程]调用
- Flask-Bootstrap:集成前端Twitter Bootstrap框架
- Flask-Moment:本地化日期和时间
- Flask-Admin:简单而可扩展的管理接口的框架
可以通过 https://pypi.org/search/?c=Framework+%3A%3A+Flask 查看更多flask官方推荐的扩展
安装
创建虚拟环境
- anaconda
# 创建虚拟环境 conda create -n <虚拟环境名称> Python=<python版本> # 进入/切换虚拟环境 conda activate <虚拟环境名称> # 退出当前虚拟环境 conda deactivate # 删除虚拟环境 conda remove -n <虚拟环境名称> --all # 删除虚拟环境中的包 conda remove --name $<虚拟环境名称> $<包名> # 一些常用命令 conda install <包名> # 安装包 等价于 pip install <包> conda list # 查看安装了那些包 等价于 pip list conda envlist # 查看当前存在那些虚拟环境 conda info -e # 查看当前存在那些虚拟环境 conda update conda # 检查更新当前conda
- virtualenv
# 创建虚拟环境 mkvirtualenv <虚拟环境名称> # 查看当前存在那些虚拟环境 workon # 进入/切换虚拟环境 workon <虚拟环境名称> # 退出当前虚拟环境 deactivate # 删除虚拟环境名称 rmvirtualenv <虚拟环境名称>
安装
pip install flask==<版本> # 如果使用conda创建的虚拟环境还可以使用 conda install flask==<版本>
搭建flask项目
手撸版
-
创建项目根目录。例如:flaskdemo
-
在pycharm中打开项目并指定上面创建得虚拟环境
-
创建flask框架的启动文件。例如
app.py/run.py/main.py/index.py/manage.py/atart.py
等
app.py
代码
from flask import Falsk app = Flask(__name__) @app.route('/') def index(): return 'hello world' if __name__ == '__main__': app.run()
使用pycharm搭建
使用pycharm搭建的项目会自动创建两个文件夹,static用于存放静态文件,templates用于存放模板
代码分析
# 导入Flask类 from flask import Flask """ import_name Flask程序所在的包(模块),传 __name__ 就可以 其可以决定 Flask 在访问静态文件时查找的路径 static_path 静态文件访问路径(不推荐使用,使用 static_url_path 代替) static_url_path 静态文件访问路径,可以不传,默认为:/ + static_folder static_folder 静态文件存储的文件夹,可以不传,默认为 static template_folder 模板文件存储的文件夹,可以不传,默认为 templates """ app = Flask(import_name=__name__) # 编写路由视图 # flask的路由是通过给视图添加装饰器的方式进行编写的。当然也可以分离到另一个文件中。 # flask的视图函数,flask中默认允许通过return返回html格式数据给客户端。 @app.route('/') def index(): return '<h1>hello world</h1>' if __name__ == '__main__': # 什么都不写默认(host='127.0.0.1', port=5000) # app.run() # 指定服务器IP和端口,运行flask app.run(host="0.0.0.0", port=5000)
项目的运行
在终端
-
首先进入虚拟环境
-
cd 到项目根目录
-
执行
python app.py
(app.py为项目启动文件),你会看到如下提示:
(flask) D:\flask\flask_test>python app.py * Serving Flask app 'app' (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: off * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
- 在浏览器访问
127.0.0.1:5000
即可查看运行结果
直接右键运行app.py
你会看到如下提示:
FLASK_APP = app.py FLASK_ENV = development FLASK_DEBUG = 0 In folder D:/flask/flask_test D:\Envs\flask\Scripts\python.exe -m flask run * Serving Flask app 'app.py' (lazy loading) * Environment: development * Debug mode: off * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?