跳转到主要内容

简化创建端点

项目描述

starlette-views – 使用 Starlette 使视图更快的辅助工具

Starlette-Views自动将视图结果转换为 starlette.responses.Response 对象。

Tests Status PYPI Version

需求

  • python >= 3.7

安装

starlette-views 应使用pip进行安装

pip install starlette-views

初始化

只需将您的 Starlette 应用程序包裹在视图中

from starlette_views import Views

app = Starlette(...)
app = Views(app)

或者您可以从模块中导入 Starlette (在这种情况下,您无需进行更多设置)

from starlette_views import Starlette

app = Starlette(...)

快速入门

from starlette.applications import Starlette
from starlette.routing import Route


async def hello(request):
    return 'Hello from Views!'

 # Create Starlette Application
app = Starlette(routes=[
     Route('/', hello)
])

# Enable the quick views
app = Views(app)

然后运行应用程序…

$ uvicorn example:app

打开 http://127.0.0.1:8000 并在视图中找到hello。

使用方法

async def render_json1(request):
    """Just return dictionary to make a JSON response."""
    return {'any': 'value'}


async def render_json2(request):
    """List also works well."""
    return [{'any': 'value'}]


async def render_json3(request):
    """Return a tuple to set HTTP status."""
    return 403, {'message': 'Authorization required'}


async def render_html1(request):
    """Return any string to make an HTML response."""
    return "<h1>I would be rendered as HTML</h1>"


async def render_html2(request):
    """Return a tuple to set HTTP status."""
    return 201, 'Record Created'


# Starlette Responses works as well too
from starlette.responses import HTMLResponse


async def render_normal(request):
    """Starlette Responses are returned as is."""
    return HTMLResponse('Common behaviour', status_code=200)

错误跟踪器

如果您有任何建议、错误报告或烦恼,请向 https://github.com/klen/starlette-views/issues 的issue跟踪器报告。

贡献

项目开发地点: https://github.com/klen/starlette-views

许可协议

许可协议: MIT许可

项目详情


下载文件

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

源代码分发

本发行版没有可用的源分发文件。请参阅有关生成分发归档的教程。

构建的分发

starlette_views-0.0.4-py3-none-any.whl (4.2 kB 查看哈希)

上传时间 Python 3

由以下支持