gpt4 book ai didi

pyramid - 有没有一种好方法可以通过 Pyramid 框架的内省(introspection)来获得可调用的 View 本身

转载 作者:行者123 更新时间:2023-12-01 15:16:24 28 4
gpt4 key购买 nike

我正在尝试使用 Pyramid 自省(introspection)接口(interface)从可调用 View 中获取给定资源类型的所有 View 的列表。我可以使用以下方法获取一组已添加的 View 配置的内省(introspection):

@view_config(...)
def view_callable(context, request):
introspector = request.registry.introspector
for view_int in introspector.get_category('views'):
view_int = view_int['introspectable']

虽然我没有找到关于判别器格式的任何官方文档,但从这里看来,view_int.discriminator[1] 是遍历的上下文类型,view_int.discriminator[2] 是 View 名称, view_int.discriminator[3]为路由名称等

但是,如何获取该 View 的 View 可调用函数本身? IIntrospectable 似乎没有提供获取此信息的方法?

有没有更好的方法在运行时根据路由名称、上下文类型等获取所有已注册 View 可调用对象的列表?

最佳答案

通过查看源代码,我发现了以下有效的简单解决方案。不过,我不确定这是否稳定,因为我没有在官方文档中找到它。

for view in request.registry.introspector.get_category('views'):
context = view['introspectable']['context']
view_callable_class = view['introspectable']['callable']
view_callable_method_name = view['introspectable']['attr']

关于pyramid - 有没有一种好方法可以通过 Pyramid 框架的内省(introspection)来获得可调用的 View 本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24872183/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com