django-appconf

Screenshot der Software:
django-appconf
Softwarebeschreibung:
Version: 0.5
Upload-Datum: 15 Apr 15
Entwickler: Jannis Leidel
Lizenz: Frei
Popularität: 12

Rating: 2.0/5 (Total Votes: 1)

django-appconf ist ein Django-App für Konfigurationsobjekt für die Handhabung von Konfigurationseinstellungen von verpackten apps würdevoll verwendet werden. & Nbsp; Angenommen, Sie haben eine Anwendung namens myapp und wollen ein paar Standardwerte zu definieren, und beziehen sich auf die Standardwerte leicht in die apps-Code. Fügen Sie einen settings.py zu Ihrer App models.py:
von appconf import appconf
Klasse MyAppConf (appconf):
& Nbsp; SETTING_1 = "one"
& Nbsp; SETTING_2 = (
& Nbsp; "zwei",
& Nbsp;)
& Nbsp; class Meta:
& Nbsp; app_label = 'myapp "
Die Einstellungen werden mit der App Etikett, wo die Einstellung befindet sich unter initialisiert. Z.B. wenn Ihr models.py im myapp Paket wird das Präfix der Einstellungen MYAPP sein.
Die MyAppConf Klasse automatisch an globale Einstellung Djangos schauen, um die einzelnen Einstellungen zu bestimmen. Z.B. , diese zu Ihrer Website settings.py die SETTING_1 app Einstellung entsprechend gesetzt:
MYAPP_SETTING_1 = "uno"
Verwendung
Anstelle der Verwendung von Importeinstellungen django.conf, wie Sie es normalerweise tun, können Sie Schalter, um mit Ihrer apps eigenen Einstellungen Modul um die Einstellungen zugreifen, optional:
von myapp.models import MyAppConf
myapp_settings = MyAppConf ()
Druck myapp_settings.MYAPP_SETTING_1
Appconf Klasse automatisch als Proxies für die anderen Einstellungen, die nicht mit der app zu tun haben zu arbeiten. Zum Beispiel der folgende Code ist vollkommen gültig:
von myapp.models import MyAppConf
Einstellungen = MyAppConf ()
wenn "myapp" in settings.INSTALLED_APPS:
& Nbsp; print "yay, myapp installiert ist!"
Falls Sie wollen einige Einstellungen Ad-hoc, können Sie einfach übergeben Sie den Wert, wenn die instanciating appconf Klasse:
von myapp.models import MyAppConf
Einstellungen = MyAppConf (SETTING_1 = 'etwas ganz anderes ")
wenn "andere" in settings.MYAPP_SETTINGS_1:
& Nbsp; print 'yay, ich bin anders! "
Benutzerdefinierte Handhabung
Jede der Einstellungen können individuell mit Rückrufe konfiguriert werden. Zum Beispiel, falls ein Wert einer Einstellung hängt von anderen Einstellungen oder andere Abhängigkeiten. Im folgenden Beispiel wird eine Einstellung, um in Abhängigkeit von einer globalen Einstellung einen anderen Wert:
von django.conf Importeinstellungen
von appconf import appconf
Klasse MyCustomAppConf (appconf):
& Nbsp; Aktiviert = wahr
& Nbsp; def configure_enabled (self, Wert):
& Nbsp; Rückgabewert und nicht self.DEBUG
Der Wert MYAPP_ENABLED abhängig von dem Wert der globalen DEBUG Einstellung variieren.
Jeder der App-Einstellungen können durch Bereitstellen eines Verfahrens configure_ die den Standardwert nimmt wie in den Klassenattribute als einzigen Parameter definiert angepasst werden. Das Verfahren benötigt, um den Wert zurück, um Verwendung für die Einstellung in Frage.
Nach jedem der _configure Verfahren haben aufgerufen werden, wird die appconf Klasse zusätzlich eine Haupt configure Verfahren, die verwendet werden können, um jede weitere benutzerdefinierte Konfiguration Handling tun werden, zB nennen wenn mehrere Einstellungen sind voneinander abhängig. Für, dass ein configured_data Wörterbuch wird in der untergehenden Beispiel bereitgestellt:
von django.conf Importeinstellungen
von appconf import appconf
Klasse MyCustomAppConf (appconf):
& Nbsp; Aktiviert = wahr
& Nbsp; MODE = "Entwicklung"
& Nbsp; def configure_enabled (self, Wert):
& Nbsp; Rückgabewert und nicht self.DEBUG
& Nbsp; def konfigurieren (self):
& Nbsp; mode = self.configured_data ['MODE']
& Nbsp; enabled = self.configured_data ['Enabled']
& Nbsp; wenn nicht aktiviert und mode = "Entwicklung":
& Nbsp; print "WARNUNG: app nicht in% s Modus aktiviert!" %-Modus

Was ist neu in dieser Pressemitteilung:.

  • Hinzugefügt Tests mit 100% Abdeckung
  • Added Fähigkeit, Meta-Klassen-Unterklasse.
  • Diverse Bugs mit Unterklassen und Konfiguration in Unterklassen.

Was ist neu in Version 0.2.2:

  • Fixed ein anderes Thema in der configure () API.

Anforderungen :

  • Python
  • Django

Andere Software von Entwickler Jannis Leidel

Kommentare zu django-appconf

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!