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

Flask 基础与实战概述

一、Flask 基础知识

  1. 什么是 Flask?

    • Flask 是一个基于 Python 的轻量级 Web 框架(微框架)。

    • 特点:核心代码简洁,给予开发者更多选择空间。

    • 与 Django 对比:

      • Django 创建空项目生成多个文件,Flask 仅需一个文件即可实现简单应用(如 "Hello, World!")。

      • Flask 不预设过多默认配置,修改更灵活。

  2. 核心模块

    • Jinja2:模板引擎,用于动态生成 HTML。

    • Werkzeug:处理 HTTP 请求和响应,封装 Request 和 Response 对象。

    • 安装时包含六个模块,官网常突出以上两个。

  3. MVC/MTV 架构

    • 定义:一种软件架构设计思想,核心是解耦

    • 组成部分:

      • Model:负责数据操作与存储。

      • View:负责页面展示。

      • Controller/Template:负责逻辑处理。

    • 优势:代码模块化,维护清晰,修改某部分不影响其他模块。

  4. Flask 项目初始化

    • 安装:运行 pip install flask

    • 基本代码结构

      from flask import Flask
      app = Flask(__name__)
      @app.route('/')
      def index(): return "Hello, World!"
      if __name__ == '__main__': app.run()
      
    • 启动方式:直接运行 Python 文件,或通过命令行(如 python manage.py runserver --reload --debug)。

  5. 请求流程

    • 流程:浏览器 → 路由器(Router) → 视图函数(View Function) → 模型(Model,可用假数据) → 模板(Template) → Response → 浏览器。

    • 特点:初期可省略模型,使用假数据简化开发。


二、路由与参数

  1. 路由定义

    • 通过 @app.route('/path') 或蓝图(Blueprint)注册路由。

  2. 参数类型

    • 路径参数:出现在 URL 路径中,如 /user/<username>,默认视为字符串。

    • GET 请求参数:URL 中 ? 后的参数,如 ?key=value

    • POST 请求参数:在请求体(Body)中。

  3. 转换器(Converter)

    • 作用:约束路径参数的格式。

http://www.lryc.cn/news/2404145.html

相关文章:

  • 东芝Toshiba e-STUDIO2110AC打印机信息
  • Vue3 GSAP动画库绑定滚动条视差效果 绑定滚动条 滚动条动画 时间轴
  • grafana-mcp-analyzer:基于 MCP 的轻量 AI 分析监控图表的运维神器!
  • git commit 执行报错 sh: -/: invalid option
  • uniapp 设置手机不息屏
  • 【题解-洛谷】B3622 枚举子集(递归实现指数型枚举)
  • (LeetCode 每日一题)3170. 删除星号以后字典序最小的字符串(贪心+栈)
  • Protobuf 中的类型查找规则
  • Python项目中添加环境配置文件
  • 【区块链基础】区块链的 Fork(分叉)深度解析:原理、类型、历史案例及共识机制的影响
  • IOS 打包账号发布上传和IOS Xcode证书配置
  • 使用 HTML + JavaScript 实现文章逐句高亮朗读功能
  • 【CSS-4】掌握CSS文字样式:从基础到高级技巧
  • 双碳时代,能源调度的难题正从“发电侧”转向“企业侧”
  • 3. 简述node.js特性与底层原理
  • OpenCV CUDA模块图像处理------创建一个模板匹配(Template Matching)对象函数createTemplateMatching()
  • 【Kubernetes】K8s 之 ETCD - 恢复备份
  • CMS、G1、ZGC、Shenandoah 的全面对比
  • RabbitMQ 学习
  • 如何轻松、安全地管理密码(新手指南)
  • AWS App Mesh实战:构建可观测、安全的微服务通信解决方案
  • 9.axios底层原理,和promise的对比(2)
  • 用HTML5 Canvas打造交互式心形粒子动画:从基础到优化实战
  • Gartner《How to Create and Maintain a Knowledge Base forHumans and AI》学习报告
  • 【软件工具】批量OCR指定区域图片自动识别内容重命名软件使用教程及注意事项
  • PyTorch 中cumprod函数计算张量沿指定维度的累积乘积详解和代码示例
  • docker镜像下载到本地,并导入服务器
  • 数据通信与计算机网络——数字传输
  • oracle 归档日志与RECOVERY_FILE_DEST 视图
  • 黄柏基因组-小檗碱生物合成的趋同进化-文献精读142