DJango with Code Dependency Injection using PyCDI
Project description
A middleware to integrate PyCDI with Django.
See the code of conduct.
Install
Install pypi version
pip install django_pycdi
Install lastest version
pip install git+https://github.com/ettoreleandrotognoli/django-pycdi.git
Usage
Add middleware to settings.py:
MIDDLEWARE += ['django_pycdi.middlewares.CDIMiddleware']
Add inject decorator to your views:
With Python 2:
from random import random from django.http import HttpResponse from pycdi import Inject, Producer from pycdi.utils import Singleton @Singleton() class MySingleton(): pass @Producer(float) def get_a_float(): return random() @Inject(singleton=MySingleton,number=float) def view(request,singleton,number): return HttpResponse('...')
In the demo3 folder has a django demo project using python2 with more examples.
With Python 3:
from random import random from django.http import HttpResponse from pycdi import Inject, Producer from pycdi.utils import Singleton @Singleton() class MySingleton(): pass @Producer() def get_a_float() -> float: return random() @Inject() def view(request,singleton:MySingleton,number:float): return HttpResponse('...')
In the demo3 folder has a django demo project using python3 with more examples.
See more ways to use PyCDI in its page.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django-pycdi-0.1.0.tar.gz
(2.8 kB
view hashes)