django-load er en modul og objekt loader app for Django.
Eksempler
For å få full API dokumentasjon, se http://django-load.readthedocs.org.
La oss anta at din app ønsker å laste alle plugins.py filer fra de installerte apps, slik at disse appene til å utvide din søknad. Du kan oppnå dette slik:
fra django_load.core import belastning
last ('plugins')
Nå la oss si at du ønsker å gjøre det samme, men faktisk gjøre noe med disse modulene, mer spesifikke, finne alle objekter i disse modulene, som er underklasser av BasePlugin og kaller vår do_something funksjon med disse objektene:
fra django_load.core import iterload
for modul i iterload ('plugins'):
& Nbsp; for navn i dir (modul):
& Nbsp; obj = getattr (modul, navn)
& Nbsp; hvis issubclass (obj, BasePlugin):
& Nbsp; do_something (obj)
Du kan også ha en innstilling som heter MY_APP_PLUGINS som inneholder import baner som ligner på MIDDLEWARE_CLASSES. Du ønsker å laste disse plugins og ringe do_something funksjon med dem:
fra django_load.core import iterload_objects
fra django.conf importinnstillinger
for obj i iterload_object (settings.MY_APP_PLUGINS):
& Nbsp; do_something (obj)
Hvis du bare ønsker å laste inn en enkelt objekt, kan du gjøre det også. La oss si at du ønsker å laste MyObject fra mypackage.mymodule modul:
fra django_load.core import load_object
obj = load_object ('mypackage.mymodule.MyObject')
Egenskaper
- Load alle moduler fra alle installerte programmer med en gitt navn.
- Last alle moduler fra alle installerte programmer med et gitt navn og iterere over dem.
- Legg et objekt fra en modul med en mellomvare klasser som import bane.
- Unittested (se http://ci.django-cms.org/job/django-load/)
- Dokumentert (se http://django-load.readthedocs.org)
Krav
- Python
- Django
Kommentarer ikke funnet