使用开发服务器开发Flask应用

FlaskFlaskBeginner
立即练习

This tutorial is from open-source community. Access the source code

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在本教程中,你将学习如何在 Flask 的本地开发过程中使用开发服务器来运行你的 Flask 应用程序。开发服务器提供了交互式调试器,并在代码发生更改时自动重新加载代码。本教程将指导你完成运行开发服务器的步骤,并处理可能出现的常见问题。

注意:你需要自己创建代码文件并在环境中运行它。你可以在 Web 5000 上预览 Flask 服务状态。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL flask(("`Flask`")) -.-> flask/DataHandlingGroup(["`Data Handling`"]) flask(("`Flask`")) -.-> flask/CoreConceptsGroup(["`Core Concepts`"]) flask(("`Flask`")) -.-> flask/DevelopmentToolsGroup(["`Development Tools`"]) flask/DataHandlingGroup -.-> flask/incoming_request_data("`Incoming Request Data`") flask/DataHandlingGroup -.-> flask/response_objects("`Response Objects`") flask/CoreConceptsGroup -.-> flask/application_object("`Application Object`") flask/CoreConceptsGroup -.-> flask/sessions("`Sessions`") flask/CoreConceptsGroup -.-> flask/useful_internals("`Useful Internals`") flask/DevelopmentToolsGroup -.-> flask/blueprint_objects("`Blueprint Objects`") subgraph Lab Skills flask/incoming_request_data -.-> lab-136104{{"`使用开发服务器开发Flask应用`"}} flask/response_objects -.-> lab-136104{{"`使用开发服务器开发Flask应用`"}} flask/application_object -.-> lab-136104{{"`使用开发服务器开发Flask应用`"}} flask/sessions -.-> lab-136104{{"`使用开发服务器开发Flask应用`"}} flask/useful_internals -.-> lab-136104{{"`使用开发服务器开发Flask应用`"}} flask/blueprint_objects -.-> lab-136104{{"`使用开发服务器开发Flask应用`"}} end

设置 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 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 的进程,你可以使用 netstatlsof 命令。以下是针对 Linux、macOS 和 Windows 的示例:

  • Linux:
netstat -nlp | grep 5000
  • macOS / Linux:
lsof -P -i :5000
  • Windows:
-ano > netstat | findstr 5000

一旦你识别出该进程,就可以使用其他操作系统工具来停止它。停止该进程后,你应该能够毫无问题地运行开发服务器。

从 Python 运行开发服务器

除了使用 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 应用程序部署到生产环境之前轻松地对其进行测试和调试。

您可能感兴趣的其他 Flask 教程