Django-load is een module en object loader app voor Django.
Voorbeelden
Voor volledige API-documentatie, verwijzen wij u naar http://django-load.readthedocs.org.
Laten we aannemen dat uw app wil alle plugins.py bestanden te laden van de geïnstalleerde apps, zodat die apps om uw aanvraag uit te breiden. U kunt deze als volgt te bereiken:
van django_load.core load import
load ('plugins')
Laten we nu eens zeggen dat je wilt om hetzelfde te doen, maar eigenlijk iets met die modules, meer specifiek te doen, vind alle objecten in die modules, die zijn subklassen van BasePlugin en bel ons do_something functie met deze objecten:
van django_load.core import iterload
voor de module in iterload ('plugins'):
& Nbsp; voor de naam in dir (module):
& Nbsp; obj = getattr (module, naam)
& Nbsp; Als issubclass (obj, BasePlugin):
& Nbsp; do_something (obj)
Je kan ook een instelling genaamd MY_APP_PLUGINS die import paden vergelijkbaar MIDDLEWARE_CLASSES bevat. Je wilt die plugins laden en bel de do_something functie met hen:
van django_load.core import iterload_objects
van django.conf instellingen import
voor obj in iterload_object (settings.MY_APP_PLUGINS):
& Nbsp; do_something (obj)
Als je alleen wilt een enkel object te laden, kun je dat ook doen. Laten we zeggen dat je wilt MyObject laden vanaf de mypackage.mymodule module:
van django_load.core import load_object
obj = load_object ('mypackage.mymodule.MyObject')
Eigenschappen
- Load alle modules van alle geïnstalleerde apps met een voornaam.
- Laad alle modules van alle geïnstalleerde apps met een bepaalde naam en herhalen over hen.
- Plaats een object uit een module met een middleware-klassen als invoer pad.
- Unittested (zie http://ci.django-cms.org/job/django-load/)
- gedocumenteerd (zie http://django-load.readthedocs.org)
Eisen
- Python
- Django
Reacties niet gevonden