快速入门:从 Visual Studio 中的模板创建 Python 项目
在本快速入门教程中,按照指导步骤,使用内置的 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 中,选择“文件”“新建”“项目”。
在“新建项目”对话框中,搜索“blank flask”。 在中间列表中选择空白 Flask Web 项目模板,输入项目名称,然后选择“确定”:
稍后,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') try: 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 模板创建项目一文。