django-Last ist ein Modul und Objekt loader App für Django.
Beispiele
Für die vollständigen API-Dokumentation finden Sie in http://django-load.readthedocs.org beziehen.
Nehmen wir an, Ihre app will alle plugins.py Dateien von den installierten Anwendungen zu laden, damit diese Anwendungen, um Ihre Anwendung zu erweitern. Sie können dies wie folgt erreichen:
von django_load.core Einfuhrbelastung
Last ("Plugins")
Lassen Sie uns jetzt sagen, Sie wollen das Gleiche tun wollen, aber tatsächlich etwas mit diesen Modulen, präziser, finden Sie alle Objekte in diesen Modulen, die Unterklassen von BasePlugin sind und rufen Sie unsere do_something Funktion mit diesen Objekten:
von django_load.core import iterload
für Modul in iterload ("Plugins"):
& Nbsp; für Namen in dir (Modul):
& Nbsp; obj = getattr (Modul, Name)
& Nbsp; wenn issubclass (obj, BasePlugin):
& Nbsp; do_something (obj)
Sie könnte auch eine Einstellung namens MY_APP_PLUGINS die Importwege ähnlich MIDDLEWARE_CLASSES enthält. Sie wollen, dass diese Plugins laden und rufen Sie die Funktion do_something mit ihnen:
von django_load.core import iterload_objects
von django.conf Importeinstellungen
für obj in iterload_object (settings.MY_APP_PLUGINS):
& Nbsp; do_something (obj)
Wenn Sie nur ein einzelnes Objekt zu laden, können Sie das auch tun. Nehmen wir an, Sie MyObject vom mypackage.mymodule Modul geladen werden soll:
von django_load.core import load_object
obj = load_object ('mypackage.mymodule.MyObject')
Eigenschaften :
- Laden alle Module aus allen installierten Anwendungen mit ein Vorname.
- Laden Sie alle Module aus allen installierten Anwendungen mit einem bestimmten Namen und durchlaufen sie.
- Laden Sie ein Objekt aus einem Modul mit einer Middleware-Klassen wie Import-Pfad.
- Unittested (siehe http://ci.django-cms.org/job/django-load/)
- dokumentiert (siehe http://django-load.readthedocs.org)
Anforderungen :
- Python
- Django
Kommentare nicht gefunden