Meine Django-App muss einige Textdateien aus dem Dateisystem lesen. Also mache ich ein Verzeichnis in meinem App-Verzeichnis und verwende den relativen Pfad zum Öffnen und Lesen der Datei.
%Vor% Wenn ich den Server mit manage.py runserver
zum Debuggen benutze, ist das in Ordnung. Aber ich betreibe Server mit manage.py runfcgi host=127.0.0.1 port=8081
, Django kann die Datei nicht finden: No such file or directory: 'xml_files/area.xml'
Ich möchte keinen absoluten Pfad verwenden, das bedeutet, ich muss viel Code ändern.
Wie kann ich das Problem lösen, den relativen Pfad zum Öffnen der lokalen Datei zu verwenden?
Ich schlage vor, dass Sie absolute path
auf eine cleverere Weise verwenden. Deklariere in deinem settings.py
etwas wie XMLFILES_FOLDER
und lass dein settings.py
wie folgt aussehen:
Dies setzt voraus, dass der xml_files
-Ordner unter dem Projekt-Stammordner liegt, andernfalls den relativen Pfad vom Projekt-Stammordner zum xml_files
Auf diese Weise, wo auch immer in Ihrem Code Sie auf eine Datei innerhalb dieses Verzeichnisses zugreifen möchten, tun Sie einfach:
%Vor%Dieser Ansatz funktioniert in jedem Betriebssystem und unabhängig davon, wie Sie den Ordner des Projekts ändern, funktioniert es immer noch.
Hoffe, das hilft!
Tags und Links python django relative-path