简介
在本教程中,你将学习如何在 Flask 的本地开发过程中使用开发服务器来运行你的 Flask 应用程序。开发服务器提供了交互式调试器,并在代码发生更改时自动重新加载代码。本教程将指导你完成运行开发服务器的步骤,并处理可能出现的常见问题。
注意:你需要自己创建代码文件并在环境中运行它。你可以在 Web 5000 上预览 Flask 服务状态。
This tutorial is from open-source community. Access the source code
💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版
在本教程中,你将学习如何在 Flask 的本地开发过程中使用开发服务器来运行你的 Flask 应用程序。开发服务器提供了交互式调试器,并在代码发生更改时自动重新加载代码。本教程将指导你完成运行开发服务器的步骤,并处理可能出现的常见问题。
注意:你需要自己创建代码文件并在环境中运行它。你可以在 Web 5000 上预览 Flask 服务状态。
在运行开发服务器之前,我们需要设置一个 Flask 应用程序。创建一个名为 app.py
的新 Python 文件,并添加以下代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return 'Hello, Flask!'
if __name__ == "__main__":
app.run(debug=True)
在这段代码中,我们创建了一个 Flask 应用程序,并定义了一个路由,该路由返回一条简单的 “Hello, Flask!” 消息。if __name__ == "__main__":
块确保只有在直接执行脚本时才运行 Flask 应用程序,而不是在作为模块导入时运行。
运行开发服务器最简单的方法是使用 Flask CLI 命令 flask run
。打开终端或命令提示符,导航到你的 app.py
文件所在的目录,然后运行以下命令:
flask run
这将在 http://localhost:5000/
上启动开发服务器。你可以通过打开网页浏览器并输入此 URL 来访问你的 Flask 应用程序。
要启用调试模式(该模式提供交互式调试器,并在代码更改时自动重新加载代码),请在 flask run
命令中添加 --debug
选项:
flask run --debug
现在,你对代码所做的任何更改都会触发开发服务器的自动重新加载。
默认情况下,Flask 会寻找名为 app.py
的文件来作为 Flask 应用程序运行。如果你的文件有不同的名称或位于不同的目录中,你可以使用 --app
选项来指定应用文件:
flask run --app myapp.py
将 myapp.py
替换为你的应用文件的名称。
当你尝试启动服务器时,如果看到一条显示 “Address already in use”(地址已被使用)的 OSError
,这意味着另一个程序已经在使用开发服务器的默认端口 5000。你可以识别并停止该其他程序,或者选择一个不同的端口。
要识别使用端口 5000 的进程,你可以使用 netstat
或 lsof
命令。以下是针对 Linux、macOS 和 Windows 的示例:
netstat -nlp | grep 5000
lsof -P -i :5000
-ano > netstat | findstr 5000
一旦你识别出该进程,就可以使用其他操作系统工具来停止它。停止该进程后,你应该能够毫无问题地运行开发服务器。
除了使用 Flask CLI 命令外,你还可以从 Python 代码启动开发服务器。在你的 app.py
文件末尾添加以下代码:
if __name__ == "__main__":
app.run(debug=True)
现在,你可以通过使用 Python 执行 app.py
文件来运行开发服务器:
python app.py
这将启动开发服务器,并且你可以像之前一样访问你的 Flask 应用程序。
在本教程中,你学习了如何在本地开发期间使用 Flask 中的开发服务器来运行你的 Flask 应用程序。你学习了如何使用 Flask CLI 命令运行开发服务器、启用调试模式、指定应用文件以及处理诸如 “地址已被使用” 之类的常见问题。你还学习了如何从 Python 代码启动开发服务器。借助开发服务器,你可以在将 Flask 应用程序部署到生产环境之前轻松地对其进行测试和调试。