使用pycdi进行代码依赖注入的django
django-pycdi的Python项目详细描述
安装
安装pypi版本
pip install django_pycdi
安装最新版本
pip install git+https://github.com/ettoreleandrotognoli/django-pycdi.git
用法
将中间件添加到settings.py:
MIDDLEWARE+=['django_pycdi.middlewares.CDIMiddleware']
将Inject decorator添加到视图中:
使用python 2:
fromrandomimportrandomfromdjango.httpimportHttpResponsefrompycdiimportInject,Producerfrompycdi.utilsimportSingleton@Singleton()classMySingleton():pass@Producer(float)defget_a_float():returnrandom()@Inject(singleton=MySingleton,number=float)defview(request,singleton,number):returnHttpResponse('...')
在demo3文件夹中有一个使用python2的django演示项目和更多示例。
使用python 3:
fromrandomimportrandomfromdjango.httpimportHttpResponsefrompycdiimportInject,Producerfrompycdi.utilsimportSingleton@Singleton()classMySingleton():pass@Producer()defget_a_float()->float:returnrandom()@Inject()defview(request,singleton:MySingleton,number:float):returnHttpResponse('...')
在demo3文件夹中有一个使用python3的django演示项目和更多示例。
请参阅其页面中使用PyCDI的更多方法。