Seite 1 von 1

[Django] Setup DJANGO_SETTINGS_MODULE und PYTHONPATH

Verfasst: Samstag 19. November 2011, 19:11
von mzh
Liebes Forum
Verstehe ich das richtig, Django kann, was eigentlich Sinn macht, nur ein settings.py Module schnallen? Dies deshalb, weil man in seiner Systemumgebung die DJANGO_SETTINGS_MODULE Variable setzen muss, und die kann ja nicht auf zwei Ziele zeigen.
Kann man das so ausdrücken:
$DJANGO_SETTINGS_MODULE beschreibt, wo Django settings.py findet. In settings.py wird definiert wo die verschiedenen Apps sind (solange der Ort angegeben wird, kann eine App also irgendwo, auf dem PYTHONPATH sein?) Und der PYTHONPATH muss den Ort enthalten, an dem sich settings.py befindet. Wenn all das gegeben ist, sollte der Development Server eigentlich starten und die Apps laufen. Korrekt?
Anders ausgedrückt: Wie kann ich mehrere Django-Projekte mit verschiedenen settings.py haben?

Re: [Django] Setup DJANGO_SETTINGS_MODULE und PYTHONPATH

Verfasst: Sonntag 20. November 2011, 18:20
von /me
mzh hat geschrieben:$DJANGO_SETTINGS_MODULE beschreibt, wo Django settings.py findet. In settings.py wird definiert wo die verschiedenen Apps sind (solange der Ort angegeben wird, kann eine App also irgendwo, auf dem PYTHONPATH sein?) Und der PYTHONPATH muss den Ort enthalten, an dem sich settings.py befindet. Wenn all das gegeben ist, sollte der Development Server eigentlich starten und die Apps laufen. Korrekt?
Anders ausgedrückt: Wie kann ich mehrere Django-Projekte mit verschiedenen settings.py haben?
Das hängt davon ab, in welchem Kontext Django überhaupt läuft. Ich arbeite üblicherweise mit WSGI und setze dann einfach in der passenden WSGI-Datei einen Wert für os.environ['DJANGO_SETTINGS_MODULE'].

Re: [Django] Setup DJANGO_SETTINGS_MODULE und PYTHONPATH

Verfasst: Montag 21. November 2011, 09:26
von mzh
@me: Im Moment nur über den eingebauten Development Server. Ist es das was du meinst?

Re: [Django] Setup DJANGO_SETTINGS_MODULE und PYTHONPATH

Verfasst: Montag 21. November 2011, 09:32
von jens
Ja und Nein ;)

Man kann DJANGO_SETTINGS_MODULE natürlich als echte Environment Variable setzten, oder halt über os.environ['DJANGO_SETTINGS_MODULE'] in manage.py oder index.py...

Re: [Django] Setup DJANGO_SETTINGS_MODULE und PYTHONPATH

Verfasst: Montag 21. November 2011, 14:53
von mzh
jens hat geschrieben:Ja und Nein ;)

Man kann DJANGO_SETTINGS_MODULE natürlich als echte Environment Variable setzten, oder halt über os.environ['DJANGO_SETTINGS_MODULE'] in manage.py oder index.py...

Ok, aber damit ich das richtig verstehe. Für jedes Projekt muss die Variable einen anderen Wert haben, dh. für jedes Projekt muss sie anders gesetzt werden. Ich verstehe es so, dass Projekte sich dadurch unterscheiden, dass in settings.py halt verschiedene Apps geladen werden.

Re: [Django] Setup DJANGO_SETTINGS_MODULE und PYTHONPATH

Verfasst: Samstag 10. Dezember 2011, 18:49
von daemonTutorials
Um nur mal kurz zu sagen: Wenn man ein Django-Seite anlegt, wird das alles automatisch gesetzt. Wenn das nachher auf einem Server läuft, dann weiß man oft wie man das einstellt, da die Hoster meist eine Anleitung dafür haben. Siehe ADIT Systems oder alwaysdata.com.

Es sei nur mal gesagt. Nicht das für andere noch Fragen offen stehen.

Maik