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

flask入门

第一部分:Flask Web 应用基础

1. 启动空的Flask服务器
  • 状态: 初始启动的Flask服务器(app.run())没有任何视图函数和路由,基本无用。

  • 目标: 编写业务逻辑需要定义视图函数。

2. 定义视图函数 (View Function)
  • 基本结构: 使用Python的def关键字定义一个普通函数,例如 def hello():

  • 返回值: 视图函数通常返回一个字符串(例如"Hello, 七月")。

  • 调用方式:

    • 普通Python函数: 直接 hello() 调用。

    • Web应用: 通过浏览器发送HTTP请求来访问。

3. 路由 (Routing)
  • 作用: 将HTTP请求(URL路径)映射到对应的视图函数。

  • 注册路由方式(推荐):

    • 使用@app.route() 装饰器。

    • 示例:

      from flask import Flask
      app = Flask(__name__)@app.route("/hello")
      def hello():return "Hello, 七月"if __name__ == '__main__':app.run()
      
  • 访问:

    • 启动服务器:python your_file.py

    • 浏览器访问:http://127.0.0.1:5000/ (会提示 Not Found,因为根路径未注册)

    • 浏览器访问:http://127.0.0.1:5000/hello (成功显示 Hello, 七月)

4. Flask 中的 MVC 概念
  • Controller (控制器): 在Flask中,视图函数(如 hello())本质上就是MVC模式中的控制器。

  • 命名: Flask将其称为“视图函数”,因为它负责控制视图(View),但其核心作用是处理业务逻辑。

5. 类视图 (Class-Based Views / Plug-in Views)
  • 优势:

    • 符合面向对象编程,便于代码复用(通过继承)。

    • 函数无法继承,类可以。

  • 说明: 不是本课程重点,有兴趣可自行了解。

第二部分:URL 兼容性与路由原理

1. URL 兼容性 (Trailing Slash)
  • 问题: 默认情况下,/hello/hello/ 可能被视为不同的URL,导致访问 /hello/ 时出现 Not Found

  • 解决方法:@app.route 装饰器中,为路径末尾添加斜杠,例如 @app.route("/hello/")

    • 效果: 这样配置后,http://127.0.0.1:5000/hellohttp://127.0.0.1:5000/hello/ 都可以访问。

  • 注意: 修改代码后需要手动重启服务器才能生效(Python与PHP不同)。

2. 重定向 (Redirection) 原理

相关文章:

  • MySQL数据归档利器:pt-archiver原理剖析与实战指南
  • 阻止H5页面中键盘收起的问题
  • React从基础入门到高级实战:React 高级主题 - React Concurrent 特性:深入探索与实践指南
  • springboot文件上传下载
  • AgenticSeek,开源本地通用AI Agent,自主执行任务
  • 如何优化Hive的查询性能?请详细说明查询优化的各个层面(SQL优化、配置优化、资源优化等)和具体方法。
  • Oracle数据库性能优化的最佳实践
  • 数据结构 堆与优先级队列
  • 【数据库】数据库恢复技术
  • 使用 Cython 编译将.py文件加密成.so文件
  • Apptrace:APP安全加速解决方案
  • 企业知识库问答系统避坑指南:检索优化与生成一致性解决方案
  • 【Redis】hash
  • Haproxy
  • 不用 apt 的解决方案(从源码手动安装 PortAudio)
  • MiniMax V-Triune让强化学习(RL)既擅长推理也精通视觉感知
  • MyBatisPlus--快速入门
  • 【仿muduo库实现并发服务器】实现时间轮定时器
  • 接口自动化测试用例的编写方法
  • [paddle]paddle2onnx无法转换Paddle3.0.0的json格式paddle inference模型
  • 最大源码网站/疫情最新情况
  • 做网站用哪些软件/商丘网站建设公司
  • 做cpa推广的网站怎么弄/北京网站优化seo
  • 专用车网站建设多少钱/搭建一个网站的流程
  • 做类似于58同城的网站/广州seo成功案例
  • 临夏做网站/2023年九月份新闻