01-hello-world

知识库
知识库文档
/tech-stacks/flask/examples/01-hello-world.md

文档

Flask Hello World —— 你的第一个 Flask 应用

目标

创建一个最小的 Flask Web 应用,理解:

  • Flask 应用实例的创建
  • 路由装饰器的使用
  • 请求-响应基本流程
  • 开发服务器的启动

完整代码

# app.py
from flask import Flask, request, jsonify

# 创建 Flask 应用实例
app = Flask(__name__)

# ---------- 路由定义 ----------

@app.route("/")
def index():
    """首页 —— 返回 HTML"""
    return """
    <h1>🚀 Hello, Flask!</h1>
    <p>欢迎来到 Flask 世界。</p>
    <ul>
        <li><a href="/hello">/hello</a> — 纯文本问候</li>
        <li><a href="/hello?name=Vibe">/hello?name=Vibe</a> — 带参数问候</li>
        <li><a href="/api/status">/api/status</a> — JSON 状态接口</li>
    </ul>
    """


@app.route("/hello")
def hello():
    """纯文本问候,支持查询参数 name"""
    name = request.args.get("name", "World")
    return f"Hello, {name}!"


@app.route("/api/status")
def api_status():
    """RESTful JSON 状态接口"""
    return jsonify({
        "status": "ok",
        "version": "1.0.0",
        "framework": "Flask"
    })


@app.route("/user/<username>")
def user_profile(username):
    """动态路由 —— URL 变量"""
    return jsonify({
        "username": username,
        "message": f"欢迎你,{username}!"
    })


# ---------- 错误处理 ----------

@app.errorhandler(404)
def not_found(error):
    return jsonify({"error": "资源未找到"}), 404


# ---------- 启动入口 ----------
if __name__ == "__main__":
    # debug=True 开启热重载,代码修改后自动重启
    app.run(host="0.0.0.0", port=5000, debug=True)

运行步骤

# 1. 确保虚拟环境已激活(终端前缀为 (venv))
# 2. 设置环境变量(也可在代码中直接 run)
# Linux/macOS:
export FLASK_APP=app.py
export FLASK_ENV=development
# Windows (CMD):
set FLASK_APP=app.py
set FLASK_ENV=development
# Windows (PowerShell):
$env:FLASK_APP="app.py"
$env:FLASK_ENV="development"

# 3. 启动
flask run
# 或者直接运行
python app.py

# 4. 浏览器访问
# http://localhost:5000/
# http://localhost:5000/hello?name=Vibe
# http://localhost:5000/api/status
# http://localhost:5000/user/alice

预期输出

访问 http://localhost:5000/api/status 返回:

{
  "status": "ok",
  "version": "1.0.0",
  "framework": "Flask"
}

访问 http://localhost:5000/hello?name=Vibe 返回:

Hello, Vibe!

关键要点

概念 说明
Flask(__name__) 创建 WSGI 应用实例,__name__ 用于定位资源
@app.route(path) 装饰器语法,将 URL 路径绑定到视图函数
<variable> 动态路由变量,自动传入函数参数
request.args 查询参数字典 ?key=value
jsonify() 将 dict 转为 JSON 响应,并设 Content-Type
debug=True 开启调试模式,代码修改后自动重载

信息

路径
/tech-stacks/flask/examples/01-hello-world.md
更新时间
2026/5/30