flask最简运行只需三行代码:from flask import flask;app = flask(__name__);@app.route('/') def hello(): return 'hello world',执行flask --app app run即可启动,默认监听127.0.0.1:5000。

用 pip 安装 Flask 后直接跑起来
Flask 没有强制项目结构,最简路径就是建一个 app.py 文件,写三行代码就能响应 GET /。关键不是“怎么搭框架”,而是“别被文档里一堆扩展和蓝图吓住”——flask run 本身只依赖 werkzeug 和 click,没别的。
实操建议:
- 确保 Python 3.8+,执行
pip install flask(不要加--user,避免后续找不到命令) - 新建
app.py,内容严格按以下写(注意缩进和冒号):from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello World' - 终端进入该目录,运行
flask --app app run(不是python app.py,否则调试模式关不掉) - 默认监听
http://127.0.0.1:5000,浏览器打开就能看到文本
为什么 flask run 找不到模块
常见报错是 Could not import "app" 或 No module named 'app',根本原因不是代码错,而是 Flask 的模块发现机制依赖当前工作目录和 --app 参数的匹配逻辑。
实操建议:
-
--app后面跟的是模块名(不含.py),不是文件路径。比如app.py对应--app app,myapp.py就得写--app myapp - 必须在
app.py所在目录下执行命令,不能在父目录或子目录 - 如果文件名是
hello.py,就得用flask --app hello run,别硬套教程里的app - Windows 用户注意:PowerShell 会把
flask当作命令冲突,换用 CMD 或加python -m flask前缀
让 Hello World 支持调试和自动重载
开发时改一行代码就得手动重启服务?flask run 默认关闭调试模式,必须显式开启,否则不仅没错误页面,连代码改动都不触发重载。
实操建议:
- 加
--debug参数:flask --app app --debug run,这样出错会显示交互式调试器,保存文件自动重启 - 也可以用环境变量(更推荐):
set FLASK_DEBUG=1(Windows)或export FLASK_DEBUG=1(macOS/Linux),再跑flask --app app run - 注意:
FLASK_ENV=development在 Flask 2.3+ 已废弃,只认FLASK_DEBUG - 如果重载不生效,检查是否用了 IDE 的“运行”按钮——它可能绕过
flask命令,直接执行python app.py,那就没重载
返回 HTML 而不只是纯文本
很多人卡在“怎么返回带格式的页面”,其实不需要模板引擎,return 可以直接塞字符串,只要内容是合法 HTML。
实操建议:
- 把
return 'Hello World'换成:return '<h1 style="color:blue">Hello World</h1><p>This is Flask.</p>'
- 如果想用多行 HTML,用三引号包裹,但注意引号嵌套问题:
return """<div class="msg">Hi</div>""" - 真要渲染动态内容(比如当前时间),就用
f-string:return f'<p>Time: {datetime.now()}</p>',记得先from datetime import datetime - 别急着上
render_template()——它要求templates/目录存在且路径正确,纯字符串够用时别给自己加配置负担











