在本快速入门中,遵循引导式步骤,使用内置的 Python 项目模板快速创建 Flask 应用程序。 借助 Visual Studio,可以轻松地在多个 Python 框架(包括 Flask、Django 和 Bottle)的模板中使用样板代码和功能开发 Python 项目。 本文中所述的 Python 项目类似于通过快速入门手动创建的项目 :使用 Flask 文章创建 Web 应用 。
先决条件
安装了支持 Python 工作负载的 Visual Studio。
在 Visual Studio 安装程序中,选择 Python 开发 工作负载和用于访问 Web 项目模板的 Python Web 支持 选项。 有关详细信息,请参阅 在 Visual Studio中安装 Python 支持。
不支持 Visual Studio for Mac。 Windows、Mac 和 Linux 上的 Visual Studio Code 通过可用扩展适用于 Python。
创建项目
按照此过程创建 Visual Studio 解决方案和新的 Flask Web 项目:
在 Visual Studio 中,选择 “文件>新建>项目 ”并搜索“Flask”。选择 空白 Flask Web 项目 模板,然后选择“ 下一步”。
Visual Studio 显示项目配置对话框。 输入项目 的名称 ,然后选择“ 创建”。 可以将其他字段设置为默认值。
片刻之后,Visual Studio 会显示有关如何处理包依赖项的提示。 根据是否已安装包依赖项,提示不同。
此 项目需要外部包 的对话框。指示所选模板包含一个指定 Flask 包依赖项 的requirements.txt 文件。 Visual Studio 可以自动安装包,这让你可以选择将包安装到 虚拟环境中。 建议使用虚拟环境而不是安装到全局环境。
如果收到此对话框,请选择“ 安装到虚拟环境 ”选项:
或者,你可能会看到 Python 包规范文件“requirements.txt”在项目 <项目名称>中检测到”。 Visual Studio 窗口顶部的提示。 此提示指示包依赖项已在配置中可用。 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 模板文章创建项目 。