在本快速入门中,你将基于 Visual Studio 中的 Flask 框架创建一个 Python Web 应用程序。 你将通过介绍 Visual Studio 基本功能的单独步骤创建项目。 了解如何创建项目项、添加代码和运行应用程序。
如果你需要安装 Visual Studio,请转到 Visual Studio 下载页面,进行免费安装。 在安装程序中,请选择“Python 开发”工作负荷。
如果你需要安装 Visual Studio,请转到 Visual Studio 下载页面,进行免费安装。 在 Visual Studio 安装程序中选择“Python 开发”工作负载,并在安装详细信息中选择“Python Web 支持” 。
创建项目
以下步骤创建一个作为应用程序容器的空项目。
打开 Visual Studio。 在开始屏幕上,选择“创建新项目”。
在“创建新项目”对话框的搜索框中输入“Python web”。 在结果列表中,选择“Web 应用程序”,然后选择“下一步”。
如果未看到 Python Web 项目模板,请选择“工具”>“获取工具和功能”以运行 Visual Studio 安装程序 。 在安装程序中,请选择“Python 开发”工作负荷。 在“安装详细信息”下,选择“Python Web 支持”,然后选择“修改”。
在“配置新项目”对话框中,输入“HelloPython”作为项目名称,指定一个项目“位置”,然后选择“创建”。
新项目将在“解决方案资源管理器”中打开。 “解决方案名称”会自动设置为匹配“项目名称”。 新项目为空,因为它不包含任何文件。
Visual Studio 中的项目和解决方案
在 Visual Studio 中为 Python 应用程序创建项目有优势。 通常只使用文件夹和文件来定义 Python 应用程序,但随着应用程序变大,这种简单的结构可能会变得难于负担。 应用程序可能涉及到自动生成的文件、适用于 Web 应用程序的 JavaScript 和其他组件。 Visual Studio 项目帮助管理复杂性问题。
项目通过 .pyproj
文件进行标识,该文件标识了与项目关联的所有源文件和内容文件。 该 .pyproj
文件还包含每个文件的生成信息,会维护要与源代码管理系统集成的信息,并且帮助你将应用程序组织成逻辑组件。
Visual Studio 解决方案是一个容器,可帮助你将一个或多个相关项目作为一个组进行管理。 Visual Studio 在“解决方案资源管理器”中显示解决方案。 该解决方案将存储不特定于某一项目的配置设置。 解决方案中的项目还可相互引用。 例如,运行一个 Python 应用项目可自动生成另一个项目,例如 Python 应用使用的 C++ 扩展。
安装 Flask 库
Python 中的 Web 应用几乎总是使用众多可用 Python 库中的一个来处理低级别详细信息,如路由 Web 请求和调整响应。 Visual Studio 为 Web 应用提供许多模板。 稍后将在本快速入门中从其中一个模板创建项目。
使用以下步骤将 Flask 库安装到 Visual Studio 用于此项目的默认全局环境。
展开项目中的“Python 环境”节点,查看项目的默认环境。
右键单击该环境并选择“管理 Python 包”。 此命令将打开“包 (PyPI)”选项卡上的“Python 环境”窗口。
在搜索字段中输入“flask”。
如果 Flask 命令显示在搜索框下方,则 Flask 已存在于系统上。 继续执行下一步。
如果 Flask 命令未显示在搜索框下方,请选择“运行命令: pip install flask”。
如果全局环境包文件夹位于受保护区域(例如 C:\Program Files)中,则会出现权限提升的提示。 接受任何有关管理员权限的提示。 你可以在 Visual Studio 的“输出”窗口中观察进度。
安装 Flask 后,库将显示在“解决方案资源管理器”的环境中。 现在可以在 Python 代码中使用 Flask 命令。
注意
开发人员通常会创建一个虚拟环境用于安装特定项目的库,而不是在全局环境中安装库。 Visual Studio 模板通常会提供此选项,如快速入门 - 使用模板创建 Python 项目中所述。
有关其他可用 Python 包的详细信息,请参阅 Python 包索引。
添加代码文件
现已准备好添加一些 Python 代码来实现最小的 Web 应用程序。
在“解决方案资源管理器”中右键单击该项目,然后选择“添加”>“新建项”。
在“添加新项”对话框中,选择“空”Python 文件选项。
输入文件名 app.py,然后选择“添加”。 Visual Studio 会自动在编辑器窗口中打开该文件。
将以下代码复制并粘贴到
app.py
文件中:from flask import Flask # Create an instance of the Flask class that is the WSGI application. # The first argument is the name of the application module or package, # typically __name__ when using a single module. app = Flask(__name__) # Flask route decorators map / and /hello to the hello function. # To add other resources, create functions that generate the page contents # and add decorators to define the appropriate resource locators for them. @app.route('/') @app.route('/hello') def hello(): # Render the page return "Hello Python!" if __name__ == '__main__': # Run the app server on localhost:4449 app.run('localhost', 4449)
“添加新项”对话框显示了很多可添加到 Python 项目的其他类型的文件,例如 Python 类、Python 包、Python 单元测试或 web.config
文件等。 一般情况下,这些项模板非常适合用于通过有用的样板代码快速创建文件。
有关 Flask 的详细信息,请参阅 Flask 快速入门。
运行应用程序
若要运行 Web 应用程序,请执行以下步骤:
在“解决方案资源管理器”中右键单击
app.py
文件,然后选择“设置为启动文件”。 此命令可标识运行应用时要在 Python 中启动的代码文件。右键单击“解决方案资源管理器”中的项目,再选择“属性” 。
在“属性”对话框的“调试”选项卡上,将“端口号”属性设置为
4449
。 此设置可确保 Visual Studio 通过localhost:4449
启动浏览器,以匹配代码中的app.run
参数。>在 Visual Studio 中,选择“调试”“开始执行(不调试)”或选择 Ctrl+F5,这会将更改保存到文件并运行应用。
此时会打开一个命令窗口并显示消息 **在 https://
localhost:4449**
中运行”。 浏览器窗口中会打开localhost:4449
并显示消息“Hello, Python!”。 状态为200
的GET
请求也会显示在命令窗口中。如果浏览器未自动打开,请打开你选择的浏览器并转到
localhost:4449
。如果只在命令窗口中看到 Python 交互式 shell,或者该窗口在屏幕上短暂闪现,请确保已将
app.py
文件设置为启动文件。在浏览器窗口中,转到
localhost:4449/hello
以测试/hello
资源的装饰器是否也正常工作。同样,状态为
200
的GET
请求会显示在命令窗口中。尝试其他一些 URL,查看它们是否在命令窗口中显示
404
状态代码。关闭命令窗口以停止应用,然后关闭浏览器窗口。
开始运行但不调试
可以在启用或未启用调试的情况下运行应用。 这些选项之间的差异如下:
“开始调试”命令会在 Visual Studio 调试器的上下文中运行应用。 使用调试器可以设置断点、检查变量和逐行单步执行代码。 由于用于实现调试的挂钩,应用在调试器中的运行速度可能会较慢。
使用“开始执行(不调试)”命令可直接运行应用,无需调试上下文,类似于从命令行运行应用。 >此命令还会自动启动浏览器,并打开项目“属性”“调试”选项卡中指定的 URL。