快速开始

本章通过最小示例带你跑通一个可用的 Flask 应用,并理解开发模式与项目入口。

安装

python -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install flask

最小应用

# app.py
from flask import Flask

app = Flask(__name__)

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

Flask(__name__) 中的 __name__ 用于定位应用根目录,从而找到 templates/static/

运行开发服务器

flask --app app run --debug
  • --app app 指向 app.py 中的应用对象(文件名为 app.pywsgi.py 时可省略)
  • --debug 开启调试器和自动重载:保存代码后服务器自动重启,出错时浏览器显示交互式堆栈

注意: 旧教程中常见的 FLASK_ENV=development 环境变量在 Flask 2.3 中已移除,请使用 --debug 参数。

访问 http://127.0.0.1:5000 即可看到输出。

添加更多路由

@app.get("/about")                     # 仅 GET
def about():
    return "About page"

@app.post("/contact")                  # 仅 POST
def contact():
    return "Received", 201

@app.route("/form", methods=["GET", "POST"])   # 同一视图处理两种方法
def form():
    ...

返回 JSON 与模板

from flask import render_template

@app.get("/api/ping")
def ping():
    return {"status": "ok"}            # dict 自动序列化为 JSON

@app.get("/hello/<name>")
def hello(name):
    return render_template("hello.html", name=name)
<!-- templates/hello.html -->
<h1>Hello, {{ name }}!</h1>

调试模式的安全提醒

调试器允许在浏览器中执行任意 Python 代码,绝对不要在生产环境开启 --debugdebug=True。生产部署方式参见部署章节。

下一步

  • 真实项目建议把应用封装为工厂函数create_app()),便于测试与多实例创建——参见应用结构章节。
  • 继续阅读路由章节,掌握 URL 参数、转换器和 url_for