"Django apkrovos yra modulis ir objektas krautuvas app Django.
Pavyzdžiai
Visą API dokumentacija, prašome kreiptis į http://django-load.readthedocs.org.
Tarkime, jūsų app nori įkelti visas plugins.py failus iš įdiegtų programų, siekiant leisti programoms išplėsti savo paraišką. Galite pasiekti tai, kaip šis:
nuo django_load.core importo apkrovos
apkrova ("Plugins")
Dabar tarkime, norite daryti tą patį, bet iš tikrųjų ką nors padaryti su tomis modulių, konkretesnių, sužinoti visus tuos modulius, kurie yra poklasiai BasePlugin ir skambinti į mūsų do_something funkciją tų objektų objektus:
nuo django_load.core importo iterload
už modulio iterload ("įskiepių"):
& Nbsp; pavadinimą rež (modulis):
& Nbsp; Obj = getAttr (modulis, vardas ir pavardė)
& Nbsp; jei issubclass (objektas, BasePlugin):
& Nbsp; do_something (objektas)
Jūs taip pat gali turėti nustatymą pavadinimu MY_APP_PLUGINS kuriame yra importo kelius, panašių į MIDDLEWARE_CLASSES. Jūs norite įkelti tuos įskiepių ir skambinkite do_something funkciją su jais:
nuo django_load.core importo iterload_objects
nuo django.conf importo nustatymus
už OBJ į iterload_object (settings.MY_APP_PLUGINS):
& Nbsp; do_something (objektas)
Jei tik norite įkelti vieną objektą, galite tai padaryti per. Tarkime, jūs norite įkelti MyObject iš mypackage.mymodule modulio:
nuo django_load.core importo load_object
Obj = load_object (mypackage.mymodule.MyObject)
Įranga
- Naudoti krovimo visi moduliai iš visų įdiegtų apps su vardas.
- krovinių modulius iš visų įdiegtų apps su tam tikru vardu ir kartoti virš jų.
- įdėjimas iš modulio objektą naudojant tarpinę klases kaip importo kelyje.
- Unittested (žr http://ci.django-cms.org/job/django-load/)
- Dokumentais (žr http://django-load.readthedocs.org)
Reikalavimai
- Python,
- Django
Komentarai nerastas