快速入门:使用 Visual Studio 创建 Python Web 应用

在本快速入门中,你将基于 Visual Studio 中的 Flask 框架创建一个 Python Web 应用程序。 你将通过介绍 Visual Studio 基本功能的单独步骤创建项目。 了解如何创建项目项、添加代码和运行应用程序。

如果你需要安装 Visual Studio,请转到 Visual Studio 下载页面,进行免费安装。 在安装程序中,请选择“Python 开发”工作负荷

如果你需要安装 Visual Studio,请转到 Visual Studio 下载页面,进行免费安装。 在 Visual Studio 安装程序中选择“Python 开发”工作负载,并在安装详细信息中选择“Python Web 支持” 。

Visual Studio 安装程序的屏幕截图,其中选择了“Python 开发”工作负载和“Python Web 支持”。

创建项目

以下步骤创建一个作为应用程序容器的空项目。

  1. 打开 Visual Studio。 在开始屏幕上,选择“创建新项目”。

  2. 在“创建新项目”对话框的搜索框中输入“Python web”。 在结果列表中,选择“Web 应用程序”,然后选择“下一步”

    显示如何在 Visual Studio 2019 中创建新的 Python Web 项目的屏幕截图。

    显示如何在 Visual Studio 中创建新的 Python Web 项目的屏幕截图。

    如果看不到 Python 项目模板,请运行 Visual Studio 安装程序>在安装程序中,选择“更多”“修改”,选择“Python 开发”工作负荷,然后选择“修改”。

    显示如何在 Visual Studio 安装程序中选择 Python 开发工作负载的屏幕截图。

    如果未看到 Python Web 项目模板,请选择“工具”>“获取工具和功能”以运行 Visual Studio 安装程序 。 在安装程序中,请选择“Python 开发”工作负荷在“安装详细信息”下,选择“Python Web 支持”,然后选择“修改”。

  3. 在“配置新项目”对话框中,输入“HelloPython”作为项目名称,指定一个项目“位置”,然后选择“创建”。

    显示如何在 Visual Studio 2019 中为新的 Python Web 项目配置设置的屏幕截图。

    显示如何在 Visual Studio 2022 中为新的 Python Web 项目配置设置的屏幕截图。

    新项目将在“解决方案资源管理器”中打开。 “解决方案名称”会自动设置为匹配“项目名称”。 新项目为空,因为它不包含任何文件。

    显示在解决方案资源管理器中新创建的空 Python Web 项目的屏幕截图。

    显示在解决方案资源管理器中新创建的空 Python Web 项目的屏幕截图。

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 用于此项目的默认全局环境

  1. 展开项目中的“Python 环境”节点,查看项目的默认环境。

    显示 Visual Studio 2019 中的默认环境的解决方案资源管理器的屏幕截图。

    显示 Visual Studio 2022 中的默认环境的解决方案资源管理器的屏幕截图。

  2. 右键单击该环境并选择“管理 Python 包”。 此命令将打开“包 (PyPI)”选项卡上的“Python 环境”窗口

  3. 在搜索字段中输入“flask”。

    • 如果 Flask 命令显示在搜索框下方,则 Flask 已存在于系统上。 继续执行下一步。

    • 如果 Flask 命令未显示在搜索框下方,请选择“运行命令: pip install flask”

      显示如何在 Visual Studio 2019 中使用 pip 安装来安装 Flask 库的屏幕截图。

      显示如何在 Visual Studio 2022 中使用 pip 安装来安装 Flask 库的屏幕截图。

      如果全局环境包文件夹位于受保护区域(例如 C:\Program Files)中,则会出现权限提升的提示。 接受任何有关管理员权限的提示。 你可以在 Visual Studio 的“输出”窗口中观察进度

  4. 安装 Flask 后,库将显示在“解决方案资源管理器”的环境中。 现在可以在 Python 代码中使用 Flask 命令。

    显示 Flask 库已安装,并显示在 Visual Studio 2022 的解决方案资源管理器中的屏幕截图。

    显示 Flask 库已安装,并显示在 Visual Studio 2022 的解决方案资源管理器中的屏幕截图。

注意

开发人员通常会创建一个虚拟环境用于安装特定项目的库,而不是在全局环境中安装库。 Visual Studio 模板通常会提供此选项,如快速入门 - 使用模板创建 Python 项目中所述。

有关其他可用 Python 包的详细信息,请参阅 Python 包索引

添加代码文件

现已准备好添加一些 Python 代码来实现最小的 Web 应用程序。

  1. 在“解决方案资源管理器”中右键单击该项目,然后选择“添加”>“新建项”。

  2. 在“添加新项”对话框中,选择“空”Python 文件选项。

  3. 输入文件名 app.py,然后选择“添加”。 Visual Studio 会自动在编辑器窗口中打开该文件。

  4. 将以下代码复制并粘贴到 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 应用程序,请执行以下步骤:

  1. 在“解决方案资源管理器”中右键单击 app.py 文件,然后选择“设置为启动文件”。 此命令可标识运行应用时要在 Python 中启动的代码文件。

    显示如何在 Visual Studio 2019 的解决方案资源管理器中为项目设置启动文件的屏幕截图。

    显示如何在 Visual Studio 2022 的解决方案资源管理器中为项目设置启动文件的屏幕截图。

  2. 右键单击“解决方案资源管理器”中的项目,再选择“属性” 。

  3. 在“属性”对话框的“调试”选项卡上,将“端口号”属性设置为 4449。 此设置可确保 Visual Studio 通过 localhost:4449 启动浏览器,以匹配代码中的 app.run 参数。

  4. >在 Visual Studio 中,选择“调试”“开始执行(不调试)”或选择 Ctrl+F5,这会将更改保存到文件并运行应用。

    此时会打开一个命令窗口并显示消息 **在 https://localhost:4449** 中运行”。 浏览器窗口中会打开 localhost:4449 并显示消息“Hello, Python!”。 状态为 200GET 请求也会显示在命令窗口中。

    如果浏览器未自动打开,请打开你选择的浏览器并转到 localhost:4449

    如果只在命令窗口中看到 Python 交互式 shell,或者该窗口在屏幕上短暂闪现,请确保已将 app.py 文件设置为启动文件。

  5. 在浏览器窗口中,转到 localhost:4449/hello 以测试 /hello 资源的装饰器是否也正常工作。

    同样,状态为 200GET 请求会显示在命令窗口中。

    尝试其他一些 URL,查看它们是否在命令窗口中显示 404 状态代码。

  6. 关闭命令窗口以停止应用,然后关闭浏览器窗口。

开始运行但不调试

可以在启用或未启用调试的情况下运行应用。 这些选项之间的差异如下:

  • “开始调试”命令会在 Visual Studio 调试器的上下文中运行应用。 使用调试器可以设置断点、检查变量和逐行单步执行代码。 由于用于实现调试的挂钩,应用在调试器中的运行速度可能会较慢。

  • 使用“开始执行(不调试)”命令可直接运行应用,无需调试上下文,类似于从命令行运行应用。 >此命令还会自动启动浏览器,并打开项目“属性”“调试”选项卡中指定的 URL。