跳转到主要内容

aiohttp开发工具

项目描述

Coverage pypi license

aiohttp提供的开发工具。

aiohttp-devtools提供了一些在开发使用aiohttp及其相关库的应用程序时非常有用的工具。

安装

pip install aiohttp-devtools

使用

aiohttp-devtools 命令行界面(及其简写别名 adev)包含两个子命令:runserverserve

runserver

提供了一种简单的本地服务器,以便在开发过程中运行您的应用程序。

用法很简单:

adev runserver <app-path>

注意: adev runserver <app-path> 将导入整个文件,因此它不与 web.run_app(app) 一起工作。但是,您可以使用 if __name__ == '__main__': web.run_app(app)

app-path 可以是一个包含已识别默认文件(app.pymain.py)的目录的路径,或者是一个特定文件的路径。可以使用 --app-factory 选项来定义从应用程序路径文件中调用的方法,如果不提供,则尝试一些默认方法名称(例如 appapp_factoryget_appcreate_app,它们可以是变量、函数或协程)。

所有 runserver 参数都可以通过环境变量设置。

runserver 有一些有用的功能:

  • livereload 将在您的代码更改时重新加载浏览器中的资源,而无需刷新,有关更多信息,请参阅 livereload

  • 静态文件 与主应用程序分开提供服务(通常在 8001 而您的应用程序在 8000),这样您就不必污染应用程序来提供仅在本地需要的静态文件。

有关更多信息,请参阅 adev runserver --help

serve

runserver 类似,但仅提供静态文件服务。

用法很简单:

adev serve <path-to-directory-to-serve>

runserver 类似,您将获得良好的实时重载和访问日志。有关更多信息,请参阅 adev serve --help

教程

为了演示 adev 与 create-aio-app 结合使用时可以做什么,让我们通过创建一个新的应用程序来操作。

首先,让我们创建一个干净的工作 Python 环境,并安装 aiohttp-devtools 和 create-aio-app。

(假设您已安装 pythonpipvirtualenv

mkdir my_new_app && cd my_new_app
virtualenv -p `which python3` env
. env/bin/activate
pip install aiohttp-devtools create-aio-app

现在,我们准备使用 create-aio-app 来构建我们的新应用程序,并将项目命名为 my_new_app,该名称与当前目录相同。

我们将明确选择不使用数据库以简化本教程,但您可以选择删除此选项并选择使用适当的数据库。

只需按回车键即可选择所有选项的默认值。

create-aio-app my_new_app --without-postgres

就是这样,您的应用程序现在已创建。您可能想查看本地目录的文件树。

在您运行应用程序之前,您需要安装其他要求,幸运的是,create-aio-app 已在 requirements/development.txt 中列出,要安装,只需运行

pip install -r requirements/development.txt

然后

adev runserver

使用

  • 您的应用程序应正在本地主机:8000 上提供服务(您可以在浏览器中与之交互)。

  • 您的静态文件正在本地主机:8001 上提供服务,adev 已配置应用程序以了解这一点,因此它应该能够正确渲染。

  • 对应用程序代码(.py 文件)的任何更改都应导致服务器重新加载,对任何文件(.py 以及 .jinja.js.css 等)的任何更改都将以 livereload 的形式提示浏览器重新加载所需的页面。

就是这样,开始开发。

项目详细信息


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分布

aiohttp-devtools-1.1.2.tar.gz (38.3 kB 查看哈希值)

上传时间

构建分布

aiohttp_devtools-1.1.2-py38.py39.py310.py311-none-any.whl (31.9 kB 查看哈希值)

上传时间 Python 3.10 Python 3.11 Python 3.8 Python 3.9

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面