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

Flask(一)概述与快速入门

1.1 Flask概述

Flask 是一个基于 Python 的轻量级 Web 框架,它提供了简单而强大的工具,使开发者能够快速构建 Web 应用。Flask 遵循 WSGI 规范,并使用 Jinja2 作为模板引擎。

1.1.1 Flask 的特点

轻量级:核心仅包含路由和 WSGI 支持,其他功能通过扩展实现。

模块化:支持插件化开发,灵活扩展。

Jinja2 模板引擎:强大易用的 HTML 渲染方式。

内置开发服务器:支持调试模式,便于开发和测试。

RESTful 友好:适用于 API 开发。

1.1.2 适用场景

小型和中型 Web 应用

RESTful API 服务器

原型开发和快速迭代

需要轻量级解决方案的项目

1.2 安装 Flask

在使用 Flask 之前,需要先安装它。Flask 可以通过 pip 进行安装。

pip install flask

可以验证安装是否成功:

python -c "import flask; print(flask.__version__)"

1.3 创建第一个 Flask 应用

我们从一个最简单的 "Hello, World!" 示例开始。

1.3.1 编写基础应用

创建 app.py 文件,并输入以下代码:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello():
    return "Hello, Flask!"

if __name__ == '__main__':
    app.run(debug=True)

1.3.2 运行 Flask 应用

使用以下命令启动应用:

python app.py

默认情况下,Flask 运行在 http://127.0.0.1:5000/,打开浏览器访问该 URL,即可看到 Hello, Flask!。

1.4 Flask 的基本概念

1.4.1 应用对象 Flask

Flask 类用于创建应用实例。

app = Flask(__name__)

__name__ 变量指示 Python 运行模块的名称,Flask 需要它来确定资源的根目录。

1.4.2 路由 @app.route

@app.route 是 Flask 的路由装饰器,用于将 URL 映射到函数。

@app.route('/hello')
def hello():
    return "Hello, World!"

访问 http://127.0.0.1:5000/hello 时,会调用 hello 函数并返回 Hello, World!。

1.4.3 启动服务器 app.run()

app.run(debug=True) 用于运行 Flask 开发服务器。

debug=True:启用调试模式,代码变更后自动重启。

host='0.0.0.0':允许外部访问。

port=8000:修改默认端口。

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

1.5 请求与响应

Flask 提供了 request 对象用于处理 HTTP 请求,Response 对象用于返回 HTTP 响应。

1.5.1 获取请求参数

from flask import request

@app.route('/greet')
def greet():
    name = request.args.get('name', 'Guest')
    return f'Hello, {name}!'

访问 http://127.0.0.1:5000/greet?name=John,返回 Hello, John!。

1.5.2 处理 JSON 请求

from flask import jsonify

@app.route('/json', methods=['POST'])
def json_example():
    data = request.get_json()

    return jsonify(data)

1.5.3 自定义 HTTP 响应

from flask import Response

@app.route('/custom_response')
def custom_response():
    return Response("Custom Response", status=202, mimetype='text/plain')

1.6 结语

本章介绍了 Flask 的基本概念、安装、入门示例以及基本的 HTTP 处理方式。在下一章,我们将深入分析 Flask 的项目结构与环境配置,以便构建更复杂的应用程序。


http://www.kler.cn/a/599429.html

相关文章:

  • 蓝桥杯备考:学会使用方向向量
  • Pyserial库使用
  • HRP方法全文总结与模型流程解析
  • Flutter 输入组件 Radio 详解
  • Blender4.4正式发布:核心更新与渲染101云渲染平台应用指南
  • TCP/IP协议的三次握手和四次挥手
  • 《大语言模型赋能证券业开发安全:海云安技术方案在上交所专刊发表》
  • spring boot项目中Lombok注解失效问题
  • 初阶数据结构(C语言实现)——6.2选择排序详解(思路图解+代码实现)
  • 机器学习之回归
  • CES Asia 2025:科技企业出海的领航灯塔
  • Go常见问题与回答(上)
  • 大数据平台各组件功能与协同作用全解析
  • 【AndroidRTC-11】如何理解webrtc的Source、TrackSink
  • 100天精通Python(爬虫篇)——第122天:基于selenium接管已启动的浏览器(反反爬策略)
  • python如何创建虚拟环境
  • 科技赋能,高端气膜料仓重塑储存新标准—轻空间
  • 计算机二级:基础操作题
  • CDN基本原理剖析与代码实现测试
  • CSS3:深度解析与实战应用