欢迎来到 Flask 的世界!我们将通过构建一个最简单的“Hello World”应用,来理解 Flask 的核心工作流程。
📂 第一步:准备项目文件
- 在你的项目文件夹中(确保已激活虚拟环境),创建一个名为
app.py的文件。 - 将以下代码复制并粘贴到
app.py中:
from flask import Flask
# 1. 创建 Flask 应用实例
# __name__ 是一个 Python 内置变量,代表当前模块的名字。
# Flask 用它来确定静态文件和模板的根目录位置。
app = Flask(__name__)
# 2. 定义路由 (Route)
# @app.route('/') 是一个装饰器,它告诉 Flask:
# 当用户访问网站的根路径 '/' 时,执行下面的函数。
@app.route('/')
def hello_world():
# 3. 返回响应
# 视图函数必须返回一个字符串、HTML 或响应对象。
return 'Hello, World! This is my first Flask app.'
# 4. 启动开发服务器
# if __name__ == '__main__' 确保只有直接运行此脚本时才启动服务器,
# 而不是在被其他模块导入时启动。
if __name__ == '__main__':
# debug=True 开启调试模式:
# 1. 代码修改后自动重载服务器
# 2. 出现错误时在浏览器显示交互式调试器
app.run(debug=True)🚀 第二步:运行应用
在终端中,确保你位于 app.py 所在的目录,并且虚拟环境已激活(提示符前有 (venv)),然后运行:
python app.py你将看到类似以下的输出:
* Serving Flask app 'app'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on http://127.0.0.1:5000
Press CTRL+C to quit
* Restarting with stat
* Debugger is active!
* Debugger PIN: 123-456-789🌐 第三步:在浏览器中查看
打开你的 Web 浏览器(Chrome, Firefox, Edge 等),在地址栏输入:
http://127.0.0.1:5000/或者:
http://localhost:5000/你应该会在页面上看到:
Hello, World! This is my first Flask app.
🎉 恭喜!你已经成功运行了第一个 Flask 应用。
🔍 代码核心概念解析
1. Flask(__name__)
这是 Flask 应用的入口点。__name__ 帮助 Flask 找到资源(如模板和静态文件)的位置。如果你把文件命名为 app.py,__name__ 就是 'app'。
2. @app.route('/')
这叫做路由装饰器。它将 URL 路径绑定到 Python 函数。
/代表根目录。- 如果你改成
@app.route('/hello'),你就需要访问http://127.0.0.1:5000/hello才能看到内容。
3. app.run(debug=True)
- 开发阶段:务必开启
debug=True。它让你每次保存代码后无需手动重启服务器,且报错信息非常详细。 - 生产环境:部署到服务器时,必须关闭
debug模式,并使用专业的 WSGI 服务器(如 Gunicorn 或 uWSGI)。
🛠️ 常见小实验
尝试修改代码,看看会发生什么:
- 修改返回内容:
将'Hello, World!...'改为'Welcome to Flask!',保存文件,刷新浏览器(无需重启服务器,因为开启了 debug 模式)。 - 添加新路由:
在hello_world函数下方添加:
@app.route('/about')
def about():
return '<h1>About Page</h1><p>This is a simple Flask tutorial.</p>'访问 http://127.0.0.1:5000/about 查看效果。注意这里我们返回了 HTML 标签,Flask 会自动将其渲染为网页。
- 尝试访问不存在的路径:
访问http://127.0.0.1:5000/notfound,你会看到 Flask 默认的 404 Not Found 页面。
⏭️ 下一步
现在你已经理解了基本的请求-响应循环。接下来,我们可以学习如何:
你想继续哪一部分?