微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在可调用的 python 金字塔视图中进行依赖注入?

如何解决如何在可调用的 python 金字塔视图中进行依赖注入?

假设我有一堂课

from pyramid.request import Request
from pyramid.view import view_config

def includeme(config):
    config.add_route('items','/v1/items'

class MyView():
    def __init__(self,item: Item = None,booksvc: BookService = None,magazinesvc: Magazineservice = None):
        self.booksvc = booksvc or BookService(self.)
        self.magazinesvc = magazine or Magazineservice()
        self.item = item or Item(booksvc)

    @view_config(route_name='items',request_method='GET')
    def get_items(self):
        foo = self.item.bar()
        # do some more stuff
        return foo

如何将所有依赖项(item、booksvc 和 magazinesvc)注入视图?

解决方法

为此,您需要定义一个自定义视图映射器,它是负责调用视图的资源。我不知道有任何开箱即用的视图映射器可以为您执行此操作,因此我只能指出您自己编写的文档。

https://docs.pylonsproject.org/projects/pyramid/en/latest/narr/hooks.html#using-a-view-mapper

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。