Django: Überprüfen Sie, ob Einstellungen für variable gesetzt ist

Hier ist ein Beispiel, was ich versuche zu erreichen. Der gewünschte Effekt ist, dass eine bestimmte Funktion sollte wirksam werden, wenn und nur wenn Ihre entsprechenden Einstellung existiert, wird definiert. Sonst, die Funktion sollte deaktiviert werden.

settings.py:

SOME_VARIABLE = 'some-string'
ANOTHER_VARIABLE = 'another-string'

random_code_file.py:

from django.conf import settings

if settings.is_defined('ANOTHER_VARIABLE'): # <- I need this.
    do_something(settings.ANOTHER_VARIABLE)
else:
    do_something_completely_different()

Im obigen code fehlt mir, was ich tun sollte, statt settings.is_defined.

Ist dies der falsche Ansatz, um das problem vollständig, ich würde mich freuen zu hören, über alternative Ansätze, wie gut. Der gewünschte Effekt ist eine automatisch aktivierte Funktion, die nur wirksam wird, wenn die entsprechende Einstellung vorhanden ist. Ich würde es vorziehen, die Vermeidung einige spezielle settings.ACTIVE_FEATURES Einstellung oder einen speziellen Wert, wie eine leere Zeichenkette oder None für die Funktion, zu beurteilen, ob es wirksam ist oder nicht.

Das Letzte, was ich tun möchte, ist die Verwendung von try/except. Ich würde eher auf einen leeren Wert, der angibt, Ausschluss von der Funktion. - Aber, wenn try/except-ing ist es wirklich die bevorzugte Methode, ich markiere die Antwort als korrekt, wenn erschöpfende Quellen oder Erläuterungen. In der Tat, das geht für jede Antwort.

Also kurz gesagt, ich brauche die richtige Art und Weise zu überprüfen, ob eine settings-variable definiert ist, die in Django.

Vielen Dank im Voraus!

  • Warum ist das spezifisch für Django? Ich glaube, dass es einen eingebauten Python-Methode, die es Ihnen erlaubt, dies zu tun
  • Ich nahm an, dass Sie die "Einstellungen" - Objekt einmalig war Django. Ich glaube nicht, dass Sie konnte haben mich erzogen, wie Sie dies in Python in der Regel? 🙂
InformationsquelleAutor Teekin | 2014-07-24
Schreibe einen Kommentar