Django: "split settings"...

Django, Flask, Bottle, WSGI, CGI…
Antworten
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Hab zufällig die Wiki Seite https://code.djangoproject.com/wiki/SplitSettings gesehen.

Interessant finde ich die Variante https://code.djangoproject.com/wiki/Spl ... ngsettings :

settings/__init__.py:

Code: Alles auswählen

INSTALLED_APPS = ('whatever',)
try:
    from settings.local import *
except ImportError:
    pass
settings/local.py:

Code: Alles auswählen

import sys
globals().update(vars(sys.modules['settings']))

INSTALLED_APPS += ('another_app',)
Finde ich recht interessant. Zumindest besser als meine aktuelle Lösung:
https://github.com/jedie/PyLucid/commit ... 44b1c4af3f
https://github.com/jedie/PyLucid-django ... ba4216f604

Zugegeben globals().update(vars(sys.modules['settings'])) sieht nach einem Hack aus, aber doch relativ klar und einfach gelöst ohne viel Magie. Was haltet ihr davon?

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Grausamer hack imo, ich finde folgendes viel besser:

settings.py

Code: Alles auswählen

from (some_project|some_app).default_settings import *

INSTALLED_APPS += ('bla',)
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Ja, das ist natürlich einfacher. Funktioniert aber nur in einfachen Szenarien.

In meinem Falle ist es aber so, das ich zum einen natürlich Standard settings haben, diese aber Plugins erweitern sollen und am Ende soll der User sie natürlich auch noch ergänzen/abändern...

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten