[flask] flask的基本介绍、flask快速搭建项目并运行

笔记

Flask

Flask 本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login,数据库Flask-SQLAlchemy),都需要用第三方的扩展来实现。比如可以用 Flask 扩展加入ORM、窗体验证工具,文件上传、身份验证等。Flask 没有默认使用的数据库,可以选择 MySQL,也可以用 NoSQL。

flask的 WSGI 工具箱采用 Werkzeug(路由模块),模板引擎则使用 Jinja2。Itsdangrous(token加密模块),Click(终端命令管理工具),flask内核本身,这5个核心模块组成 Flask 框架。

官网: Welcome to Flask --- Flask Documentation (2.0.x)

官方文档: https://dormousehole.readthedocs.io/en/latest/index.html

Flask常用第三方扩展包:
  • Flask-SQLAlchemy:操作数据库,ORM;
  • Flask-script:终端脚本工具,脚手架; ( 淘汰,官方内置脚手架:Click)
  • Flask-migrate:管理迁移数据库;
  • Flask-Session:Session存储方式指定;
  • Flask-Mail:邮件;
  • Flask-Login:认证用户状态;(django内置Auth模块,用于实现用户登录退出,)
  • Flask-OpenID:认证, OAuth;(三方授权,)
  • Flask-RESTful:开发REST API的工具;
  • Flask JSON-RPC: 开发json-rpc远程服务过程调用
  • Flask-Bable:提供国际化和本地化支持,翻译;
  • Flask-Moment:本地化日期和时间
  • Flask-Admin:简单而可扩展的管理接口的框架
  • Flask-Bootstrap:集成前端Twitter Bootstrap框架(前后端分离,)
  • Flask-WTF:表单生成模块;(前后端分离)
  • Flask-Marshmallow:序列化(类似djangorestframework的序列化器)
创建flask项目

安装flask

pip install flask -i https://pypi.douban.com/simple

也可以在python解释器那里安装flask软件包

出现这个应该只是权限不够

pip install --user "name of pkg"

加个权限应该就好了,不然就还是在解释器安装flask包

pip安装库出现 Could not install packages due to an OSError: WinError 5 拒绝访问_安装pgspecial库报错:oserror-CSDN博客

与django不同,flask不会提供任何的自动操作,所以需要手动创建项目目录,需要手动创建启动项目的管理文件,可以直接在目标文件夹下面创建一个py文件

python 复制代码
# 导入Flask类
from flask import Flask

"""
Flask类的实例化参数:
import_name      Flask程序所在的包(模块),传 __name__ 就可以
                           其可以决定 Flask 在访问静态文件时查找的路径
static_path          静态文件存储访问路径(不推荐使用,使用 static_url_path 代替)
static_url_path    静态文件的url访问路径,可以不传,默认为:/ + static_folder
static_folder        静态文件存储的文件夹,可以不传,默认为 static
template_folder  模板文件存储的文件夹,可以不传,默认为 templates
"""
app = Flask(__name__)

# 编写路由视图
# flask的路由是通过给视图添加装饰器的方式进行编写的。当然也可以分离到另一个文件中。
# flask的视图函数,flask中默认允许通过return返回html格式数据给客户端。
@app.route('/')
def index():
    # 返回值如果是字符串,被自动作为参数传递给response对象进行实例化返回客户端
    return "<h1>hello flask</h1>"

# 指定服务器IP和端口
if __name__ == '__main__':
    # 运行flask
    app.run(host="0.0.0.0", port=5000, debug=True)

运行代码,出现下面的形式,就是ok了

这里有一个warning,是因为在开发环境中,Flask应用程序是使用内置的服务器(如SimpleServer或Lighttpd)运行的,而不是使用WSGI服务器。

具体如果想解决这个警告可以参考一键解决WARNING: This is a development server. Do not use it in a production deployment. Use a productio-CSDN博客

点击连接,会跳转到浏览器,出现下面的界面就是ok的了

相关推荐
萧青山8 小时前
AI阅读增强套件:用苏格拉底诘问+对抗性阅读+知识图谱构建深度阅读技能套件(Python实现)
人工智能·python·知识图谱·ai阅读增强
Java面试题总结8 小时前
Python,单引号和双引号有何区别
开发语言·python
lhxcc_fly9 小时前
LangGraph基础知识点
python·langchain·llm·langgraph
Lvan的前端笔记9 小时前
python:Mac 系统 uv 完整安装+入门实战
python·macos·uv
会飞锦鲤9 小时前
基于YOLOv10的瓜果成熟度智能检测系统
人工智能·python·深度学习·yolo·flask
AOwhisky9 小时前
Python 学习笔记(第四期)——字符串:格式化、操作与文本处理——核心知识点自测与详解
开发语言·笔记·python·学习·列表·元组·字典
一次旅行9 小时前
【AI技术_工具】用 MCP 把本地工具接入 Claude_Cursor,让 AI 真正摸到你的数据
大数据·人工智能·python
AOwhisky9 小时前
Python 学习笔记(第六期)——函数:定义、参数传递与作用域
笔记·python·学习·云原生·运维开发·函数·参数传递
金金金__10 小时前
腾讯云直连COS优化:CDN 接入
后端
爱勇宝10 小时前
《道德经》第5章:生产环境不相信眼泪
前端·后端·架构