在本快速入门教程中,按照指导步骤,使用内置的 Python 项目模板快速创建 Flask 应用程序。 借助 Visual Studio,可以在多个 Python 框架(包括 Flask、Django 和 Bottle)的模板中使用样板代码和功能轻松开发 Python 项目。 本文中介绍的 Python 项目类似于你通过 快速入门:使用 Flask 创建 Web 应用 一文手动创建的项目。

  • 安装了 Python 工作负载支持的 Visual Studio。

    在 Visual Studio 安装程序中,选择 Python 开发 工作负载和 Python Web 支持 选项以访问 Web 项目模板。 有关详细信息,请参阅 在 Visual Studio 中安装 Python 支持

    不支持 Visual Studio for Mac。 有关详细信息,请参阅 Visual Studio for Mac 发生了什么情况? Windows、Mac 和 Linux 上的 Visual Studio Code 通过可用扩展与 Python 配合工作

    按照此过程创建 Visual Studio 解决方案和新的 Flask Web 项目:

  • 在 Visual Studio 中,选择“文件” >“新建” >“项目” ,并搜索“Flask”。选择“空白 Flask Web 项目” 模板并选择“下一步”

  • Visual Studio 会显示项目配置对话框。 输入项目 名称 ,然后选择“创建” 。 可将其他字段保留为默认值。

  • 稍后,VisualStudio 将显示有关如何处理包依赖项的提示。 根据是否已安装包依赖项,提示会有所不同。

    对话框 此项目需要外部包 指示选定的模板包含一个 requments.txt 文件,该文件指定了 Flask 包的依赖项。 Visual Studio 可自动安装包,这让你可以选择将这些包安装到 虚拟环境 中。 建议使用虚拟环境,而不是安装到全局环境中。

    如果收到此对话框,请选择“安装到虚拟环境” 选项:

    或者,你可能会在 Visual Studio 窗口顶部看到 在项目 <Project name>" 中检测到 Python 包规范文件 "requirements.txt" 提示。 此提示指示包依赖项已在配置中可用。 Visual Studio 可以根据现有配置为你创建虚拟环境。

    如果看到此提示,请选择“创建虚拟环境” 选项:

  • Visual Studio 显示“添加环境” 对话框。 接受默认值并选择“创建” ,然后同意任意升级请求。

  • 稍后,Visual Studio 将显示提示:

    对话框 此项目需要外部包 指示选定的模板包含一个 requments.txt 文件,该文件指定了 Flask 包的依赖项。 Visual Studio 可自动安装包,这让你可以选择将这些包安装到 虚拟环境 中。 建议使用虚拟环境,而不是安装到全局环境中。

    如果收到此对话框,请选择“安装到虚拟环境” 选项:

    或者,你可能会在 Visual Studio 窗口顶部看到 在项目 <Project name>" 中检测到 Python 包规范文件 "requirements.txt" 提示。 此提示指示包依赖项已在配置中可用。 Visual Studio 可以根据现有配置为你创建虚拟环境。

    如果看到此提示,请选择“创建虚拟环境” 选项:

  • Visual Studio 显示“添加环境” 对话框。 接受默认值并选择“创建” ,然后同意任意升级请求。

    开始一个项目时,强烈建议立即创建虚拟环境,因为大多数 Visual Studio 模板均有此项提示。 在你添加和删除库时,虚拟环境随之保证项目的确切需求。 然后,可轻松生成 requirements.txt 文件。在其他开发计算机上重新安装这些依赖项时使用此文件(因为此时使用源代码管理功能集),将项目部署到生产服务器时也使用此文件。 有关虚拟环境及其优势的详细信息,请参阅 使用虚拟环境 使用 requirements.txt 管理所需的包

    检查样本代码

    在本部分中,你将检查 Visual Studio 为选定模板创建的 Flask 项目文件 ( .py ) 中的样板代码。

  • 打开 解决方案资源管理器 以查看解决方案和 Flask 项目文件。 初始项目仅包含两个文件: app.py requirements.txt

    requirements.txt 文件指定了 Flask 包依赖项。 该文件旨在邀请你在第一次创建项目时创建虚拟环境。

    单个 app.py 文件包含空白 Flask Web 项目的样板代码。 该模板提供了类似于 快速入门 - 使用 Flask 创建 Web 应用 一文中描述的代码,只是增加了几个部分。

  • 在编辑器中打开 app.py 文件,查看顶部部分。

    代码以 Flask 包的 import 语句开头。 此语句创建了一个 Flask 类的实例,该实例分配给变量 app

    from flask import Flask
    app = Flask(__name__)
    

    接下来,代码会分配变量 wsgi_app,这在将 Flask 应用部署到 Web 主机时非常有用:

    # Make the WSGI interface available at the top level so wfastcgi can get it.
    wsgi_app = app.wsgi_app
    
  • 中间部分为 URL 路由分配一个函数,这意味着该函数提供由 URL 标识的资源。 在本例中,路由定义了一个视图:

    @app.route('/')
    def hello():
        """Renders a sample page."""
        return "Hello World!"
    

    使用 Flask 的 @app.route 装饰器定义路由,其参数是站点根目录中的相对 URL。 正如代码中所示,该函数仅返回文本字符串,已足够浏览器呈现。

  • 底部部分包含用于启动 Flask 开发服务器的可选代码。 你可以通过环境变量设置主机和端口,而不是对其进行硬编码。 此类代码可让你轻松控制开发和生产计算机上的配置,而无需更改代码:

    if __name__ == '__main__':
        import os
        HOST = os.environ.get('SERVER_HOST', 'localhost')
            PORT = int(os.environ.get('SERVER_PORT', '5555'))
        except ValueError:
            PORT = 5555
        app.run(HOST, PORT)
    
  • 选择“调试”>“启动而不调试”,运行 Flask 应用程序并打开浏览器以查看默认主机和端口值 localhost:5555

    在 Visual Studio 中探索 Python 模板

    安装 Python 工作负载时,Visual Studio 会为 Flask、Bottle 和 Django Web 框架和 Azure 云服务提供各种项目模板。 此外,还有用于不同机器学习场景的模板,以及用于从包含 Python 应用程序的现有文件夹结构中创建项目的模板。 可以使用“文件>“新建”>“项目”菜单选项访问模板。 选择 Python 语言节点及其子节点,以查看可用模板。

    Visual Studio 还提供了几个文件或项模板,用于快速创建 Python 类、Python 包、Python 单元测试、web.config 文件等内容。 打开 Python 项目后,可使用“项目”>“添加新项”菜单选项访问项模板。 有关详细信息,请参阅项模板参考。

    开始项目或创建文件时,使用模板可节省大量时间。 它们还是一个了解不同应用类型和代码结构的好方法。 最好先花几分钟基于不同模板创建项目和项,熟悉模板的功能。

    使用 Cookiecutter 模板

    Visual Studio 提供了与 Cookiecutter 的直接集成,可帮助你发现模板、输入模板选项、创建项目和文件。 有关详细信息,请参阅快速入门:从 Cookiecutter 模板创建项目一文。

  • 教程:在 Visual Studio 中使用 Python
  • 手动标识现有的 Python 解释器
  • Python 工具安装目录
  •