diay-依赖注入库

dia的Python项目详细描述


#diay-依赖注入库

[![构建状态](https://travis-ci.org/anlutro/diay.py.svg?branch=master)(https://travis ci.org/anlutro/diay.py)
[![pypi上的最新版本](https://img.shields.io/pypi/v/diay.svg?maxage=2592000)(https://pypi.org/project/diay)
[![许可证](https://img.shields.io/badge/license mit blue.svg)(https://opensource.org/licenses/mit)

diay是用于python 3.5及更高版本的[依赖注入](https://en.wikipedia.org/wiki/dependency_injection)/[控制反转](https://en.wikipedia.org/wiki/inversion_of廑control)库。它利用3.5中引入的类型提示,允许您轻松调用函数或构造需要特定类型对象才能工作的类。

使用来自API的一些数据呈现Jinja2模板。

``python
injector=diay.injector()
injector.set_instance(someconfigClass,my_config_object)

@injector.provider
def make_Jinja_environment()->;jinja2.环境:
返回jinja2.environment()

@injector.provider
def make_api_client(config:someconfigClass)->;some.apiclient:
返回some.apiclient(config.api_token)

def render(j2env:jinja2.environment,apiclient:some.apiclient:
data=apiclient.get('/some/data')
template=j2env.get_template('some-template.html.j2',data=data)
return template.render()

html=injector.call(render)
```

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
空字符串检查在java中未按预期工作   JavaSpringWebClient:自动计算主体的HMAC签名并将其作为头传递   foreach是否有一个Java等效的foreach循环和一个引用变量?   java如何在Eclipse中导入jar   使用特定第三方或java时lombok触发错误。*方法或构造函数   安卓 java将对象数组转换为int数组   java使一定百分比的JUnit测试通过   java Android:将Seekbar的一个值与另一个值进行比较   java将int数组(图像数据)写入文件的最佳方式是什么   java取代了系统。yml的构造函数内的getProperty   sqlite Java将公钥和私钥转换为字符串,然后再转换回字符串   安卓获取白色像素并将其保存到java opencv中的数组中   java为什么是ServerSocket。setSocketFactory静态?   Java数组似乎在不直接修改的情况下更改值