当前位置: 首页 > news >正文

Flask2入门开发详解

Flask 是什么?

Flask 是一个轻量级的 Python Web 应用框架,基于Werkzeug WSGI 工具包Jinja2 模板引擎构建。它被设计为简单易用、灵活可扩展。

主要特点

1.轻量级和简洁

from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello, World!' if __name__ == '__main__': app.run()

只需几行代码就能创建一个 Web 应用!

2.灵活和可扩展

Flask 本身是"微型"框架,核心功能简单,但可以通过扩展添加功能:

  • Flask-SQLAlchemy:数据库 ORM

  • Flask-Login:用户认证

  • Flask-WTF:表单处理

  • Flask-RESTful:构建 REST API

3.内置开发服务器和调试器

app.run(debug=True, host='0.0.0.0', port=5000)

内置服务器方便开发调试。

核心组件

1.路由系统

@app.route('/user/<username>') def show_user(username): return f'User: {username}' @app.route('/post/<int:post_id>') def show_post(post_id): return f'Post: {post_id}'

支持变量规则和类型转换。

2.请求和响应处理

from flask import request, jsonify, make_response @app.route('/api/data', methods=['POST']) def receive_data(): data = request.json # 获取 JSON 数据 name = request.form.get('name') # 获取表单数据 # 返回 JSON 响应 return jsonify({'status': 'success', 'data': data}) # 自定义响应 @app.route('/custom') def custom_response(): response = make_response('Custom Response') response.headers['X-Custom-Header'] = 'Value' return response

3.会话和 Cookies

from flask import session, redirect, url_for app.secret_key = 'your-secret-key' # 必须设置密钥 @app.route('/login', methods=['POST']) def login(): session['username'] = request.form['username'] return redirect(url_for('dashboard')) @app.route('/logout') def logout(): session.pop('username', None) return redirect(url_for('index'))

项目结构示例

Flask主要文件:

from flask import Flask from exts import db import os from flask_jwt_extended import JWTManager from config import DevelopmentConfig from flask_cors import * base_dir=os.path.abspath(os.path.dirname(__file__)) app = Flask(__name__) CORS(app,supports_credentials=True,resources="/*") app.config.from_object(DevelopmentConfig) db.init_app(app) jwt=JWTManager(app) from apps.views.goods import goods_bp from apps.views.cates import cates_bp from apps.views.members import member_bp from apps.views.basic import basic_bp from apps.views.orders import order_bp app.register_blueprint(goods_bp, url_prefix='/goods') app.register_blueprint(cates_bp, url_prefix='/cates') app.register_blueprint(member_bp, url_prefix='/members') app.register_blueprint(basic_bp, url_prefix='/') app.register_blueprint(order_bp, url_prefix='/orders')

config.py为数据库配置文件,数据库默认采用mysql,exts.py采用模块化单例形式导入SQLAlchemy:

from flask_sqlalchemy import SQLAlchemy # from apps import app from config import DevelopmentConfig # app.config.from_object(DevelopmentConfig) # app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///'+os.path.join(base_dir,'data1.sqlite') # app.config["SQLALCHEMY_TRACK_MODIFICATIONS"]=False db=SQLAlchemy()

Flask 扩展推荐

扩展用途
Flask-SQLAlchemy数据库 ORM
Flask-Migrate数据库迁移
Flask-Login用户会话管理
Flask-WTF表单处理和安全
Flask-Mail电子邮件支持
Flask-RESTfulREST API 构建
Flask-CORS跨域资源共享

适用场景

  • RESTful API 开发

  • 微服务架构

  • 原型快速开发

  • 小型到中型 Web 应用

  • 教育项目和学习

优点

✅ 简单易学,入门门槛低
✅ 灵活,不强制项目结构
✅ 文档完善,社区活跃
✅ 易于测试和调试
✅ 丰富的扩展生态系统

缺点

⚠️ 对于大型项目需要更多架构设计
⚠️ 部分高级功能需要额外扩展
⚠️ 默认不包含数据库 ORM、表单验证等

http://www.zskr.cn/news/165304.html

相关文章:

  • 【毕业设计】基于springboot的校园二手交易平台(源码+文档+远程调试,全bao定制等)
  • django基于深度学习的经典名著推荐系统设计与实现
  • 【课程设计/毕业设计】基于Springboot+Vue的电子商务订单管理系统设计与实现订单出库、更新库存【附源码、数据库、万字文档】
  • 微服务架构整合:将TensorRT封装为独立推理模块
  • 8大AI生成PPT工具盘点与解析,做PPT还是AI快啊
  • 机器学习:基于大数据的房屋数据分析可视化系统 房源数据分析 预测算法 可视化 商品房数据+Flask框架
  • django基于Python豆瓣电影数据可视化分析设计与实现
  • 【博客之星2025】深耕地球系统模式:从 SWAT 到 WRF,我的年度技术创作与开源之路
  • 教育领域新应用:用TensorRT部署个性化学习模型
  • 2025年模具表面处理技术革新:智琳科技领衔激光雕刻与立体蚀纹工艺深度解析,十大实力厂商综合竞争力权威排行 - 品牌企业推荐师(官方)
  • Docker容器化部署:轻松运行TensorRT镜像环境
  • 无需重训练!使用TensorRT镜像直接优化已有模型
  • [Quicker] 窗口便利贴 - 源码归档
  • GPU算力变现新路径:结合TensorRT镜像提供高性能推理服务
  • 实验7作业
  • 开源大模型+TensorRT镜像超强推理组合?真相来了
  • 2025年湖州短视频运营公司推荐:逸领科技以爆款IP打造与矩阵获客技术领跑制造业短视频推广新浪潮 - 品牌企业推荐师(官方)
  • 详解TensorRT层融合技术:如何减少模型计算冗余
  • 2025年厦门优质的船用防浪阀企业口碑排行,船用安全阀/船用防浪阀/船用疏水阀/船用空气管头/船用减压阀源头厂家有哪些 - 品牌推荐师
  • 【多智能体控制】有向图下含未知输入领导者的多智能体系统分布式二分时变队形控制研究附Matlab代码
  • Vue项目中Axios全面封装实战指南
  • 观察者模式与事件中心
  • C++ 仿函数揭秘:让对象像函数一样被调用!
  • 【计算机毕业设计案例】基于springboot的老年志愿者服务智慧平台老年志愿者报名服务老年志愿者报名服务(程序+文档+讲解+定制)
  • 2025年防腐风机厂家推荐:武汉熙诚环保科技领衔,七类工业风机技术革新与永磁节能先锋深度解析 - 品牌企业推荐师(官方)
  • 2025年不锈钢橱柜厂家实力推荐:北京鼎诚康厨房设备有限公司引领健康厨房新风尚,解析定制商用与家用不锈钢橱柜十大品牌核心优势 - 品牌企业推荐师(官方)
  • [Quicker] 减减闪填 - 源码归档
  • 2025必备10个降AIGC工具,MBA高效应对AI检测!
  • 2025年刮板薄膜蒸发器厂家权威推荐:无锡诚海精密化工设备有限公司引领高效蒸发技术革新,国产离心式与降膜式蒸发器品牌深度解析 - 品牌企业推荐师(官方)
  • 2025年联轴泵厂家实力盘点:河北兆宏机械泵业领衔,深度解析RYT、WRY等系列高温低温节能型联轴泵核心技术优势 - 品牌企业推荐师(官方)