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/,默认视为字符串。

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

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

  3. 转换器(Converter)

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

你可能感兴趣的:(flask,python,后端)