使用pycdi进行代码依赖注入的django

django-pycdi的Python项目详细描述


https://travis-ci.org/ettoreleandrotognoli/django-pycdi.svg?branch=masterhttps://codecov.io/gh/ettoreleandrotognoli/django-pycdi/branch/master/graph/badge.svghttps://badge.fury.io/py/django-pycdi.svghttps://img.shields.io/pypi/dm/django-pycdi.svg

集成PyCDIDjango的中间件。

code of conduct

安装

安装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的更多方法。

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

推荐PyPI第三方库


热门话题
java ViewPager。setAdapter()引发NullPointException;viewPager和pagerAdapter似乎不为空?   java如果类都包含很多有用的类变量,它会对性能产生影响吗?   java以原始分辨率显示图像   调用后未更新void方法中的java setText?   java如何在BasicTabbedPaneUI中添加关闭按钮?   java如何在Lagom框架中执行删除操作?   java安全吗?   java如何使用Reflector类。正确吗?   java HIbernate在getter/setter中加密和解密?   swing Java拖放显示正在拖动的项目