Django-belastning er et modul og objekt loader app til Django.
Eksempler
For fuld API dokumentation henvises til http://django-load.readthedocs.org.
Lad os antage din app ønsker at indlæse alle plugins.py filer fra de installerede apps, for at give disse apps til at udvide din ansøgning. Du kan opnå dette på denne måde:
fra django_load.core belastning import
belastning ('plugins')
Lad os nu sige, at du ønsker at gøre det samme, men faktisk gøre noget med disse moduler, mere specifikke, finde alle objekter i disse moduler, der er underklasser af BasePlugin og kalder vores do_something funktion med disse objekter:
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 kunne også have en indstilling kaldet MY_APP_PLUGINS som indeholder import stier ligner MIDDLEWARE_CLASSES. Du vil indlæse disse plugins og kalder do_something funktionen med dem:
fra django_load.core import iterload_objects
fra indstillingerne django.conf import-
for obj i iterload_object (settings.MY_APP_PLUGINS):
& Nbsp; do_something (obj)
Hvis du kun ønsker at indlæse en enkelt objekt, kan du gøre det også. Lad os sige, du vil indlæse mitObjekt fra mypackage.mymodule modul:
fra django_load.core import load_object
obj = load_object ('mypackage.mymodule.MyObject')
Funktioner :
- Load alle moduler fra alle installerede apps med en fornavn.
- Indlæs alle moduler fra alle installerede apps med et fornavn og gentage over dem.
- Læg et objekt fra et modul ved hjælp af en middleware klasser ligesom import sti.
- Unittested (se http://ci.django-cms.org/job/django-load/)
- Dokumenteret (se http://django-load.readthedocs.org)
Krav :
- Python
- Django
Kommentarer ikke fundet