繁体   English   中英

在 sanic 上下文 object 上键入检查变量?

[英]Type checking variables on the sanic context object?

sanic python http 服务器为全局 Z9ED39E2EA931586B6EZ85A6942EF57 提供上下文object。 python 的一个不错的新功能是类型检查,它可以检测拼写错误的属性。 有没有办法告诉像 mypy 这样的类型系统你想将哪些属性以及它们的类型添加到上下文 object 中?

因为 object 是一个 SimpleNamespace,所以没有 OOTB 方法来处理这个问题。 但是,你有几个选择。

首先,您可以使用Sanic Extensions注入一个已键入的 object。

foo = Foo()

app.ext.dependency(foo)

@app.get("/getfoo")
async def getfoo(request: Request, foo: Foo):
    return text(foo.bar())

其次,您可以创建一个自定义的 object,然后将其传递给 Sanic。

class CustomContext:
    foo: int

app = Sanic(..., ctx= CustomContext())


ctx: CustomContext = app.ctx

第三,您可以子类化Sanic class 并提供类型化的 object。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM