2017-12-14 10 views
0

Ich verwende mod_wsgi mit Pyramide und haben unterschiedliche wsgi Dateien pro Umwelt/Server wie die pyramiden test.wsgi und pyramiden prod.wsgiWie ruft man eine Funktion in einer anderen Python-Datei in meiner WSGI-Datei auf?

Diese Dateien enthält Code Umgebungsvariablen zu setzen, die pro-Umgebung unterschiedlich sind. Beispiel:

os.environ [ 'SQLALCHEMY_URL'] = 'todo'

Ich versuche, diesen Code in eine Datei namens settings.py zu bewegen, die in der .wsgi Datei aufgerufen wird. Diese Einstellungsdateien werden neben der .wsgi-Datei oder vorzugsweise in einem sicheren Unterverzeichnis gespeichert, sodass andere die Einstellungen nicht lesen können (wie db password), können jedoch eine neue Version bereitstellen und die .wsgi-Datei überschreiben Die App wird automatisch von Apache neu geladen.

Wie kann ich den Python-Code in der Datei settings.py aus der .wsgi-Datei aufrufen? Wenn ich das versuche, kann es es nicht finden, da es nicht Teil des App-Moduls ist.

Antwort

1

Angenommen, Sie verwenden die empfohlene separate mod_wsgi-Daemon-Prozessgruppe für jede Anwendungsinstanz, legen Sie die python-path-Option der WSGIDaemonProcess-Direktive so fest, dass sie das Verzeichnis enthält, in dem sich Ihr instanzspezifisches Einstellungsmodul befindet. Ein normaler Import sollte dann funktionieren.

Verwandte Themen