Django-vrag is 'n module en voorwerp loader app vir Django.
Voorbeelde
Vir volle API dokumentasie, verwys asseblief na http://django-load.readthedocs.org.
Kom ons neem aan jou app wil al plugins.py lêers te laai vanaf die geïnstalleerde programme, toe te laat om die apps om jou aansoek te brei. Jy kan dit soos dit te bereik:
van django_load.core vrag invoer
las ('plugins')
Nou laat ons sê jy wil om dieselfde te doen, maar eintlik iets met dié modules, meer spesifiek te doen, vind al die voorwerpe in die modules, wat subklasse van BasePlugin en bel ons do_something funksie met dié voorwerpe:
van django_load.core invoer iterload
vir module in iterload ('plugins'):
& Nbsp; vir naam in dir (module):
& Nbsp; obj = getattr (module, naam)
& Nbsp; as issubclass (obj, BasePlugin):
& Nbsp; do_something (obj)
Jy kan ook 'n instelling genoem MY_APP_PLUGINS wat die invoer paaie soortgelyk aan MIDDLEWARE_CLASSES bevat. Jy wil die plugins te laai en noem die do_something funksie met hulle:
van django_load.core invoer iterload_objects
van django.conf instellings invoer
vir obj in iterload_object (settings.MY_APP_PLUGINS):
& Nbsp; do_something (obj)
As jy net wil 'n enkele voorwerp te laai, kan jy dit ook doen. Kom ons sê jy wil MyObject laai vanaf die mypackage.mymodule module:
van django_load.core invoer load_object
obj = load_object ('mypackage.mymodule.MyObject')
Eienskappe :
- Load alle modules van alle geïnstalleerde programme met 'n voornaam.
- Laai alle modules van alle geïnstalleerde programme met 'n gegewe naam en Itereer oor hulle.
- Laai 'n voorwerp van 'n module met behulp van 'n middleware klasse soos invoer pad.
- Unittested (sien http://ci.django-cms.org/job/django-load/)
- Gedokumenteerde (sien http://django-load.readthedocs.org)
Vereistes :
- Python
- Django
Kommentaar nie gevind