2017-06-20 4 views
0

Meine JSON-Datei befindet sich im selben Verzeichnis der VIEW.PY-Datei. Wenn ich jedoch den HTML-Browser im Browser öffne, passiert der IO-Fehler. Wenn ich view.py über pycharm ausführe, funktioniert es einwandfrei. Die JSon-Datei ist eine Datenbankkonfigurationsdatei. Ich möchte einige Daten aus der Datenbank anzeigen. In diesem Fall muss ich zuerst eine Verbindung zur Datenbank herstellen.Django App kann JSON-Datei im selben Verzeichnis nicht finden

+1

auflösen Kopieren Sie den Code, um die JSON-Datei aus Ihrer view.py Datei zu lesen – anuragal

Antwort

2

Mit den bereitgestellten Informationen ist es wirklich schwer, Ihnen eine gute Antwort zu geben. Wie auch immer, ich nehme an, dass Sie Ihre Ansicht in PyCharm ausführen, indem Sie tatsächlich views.py ausführen, anstatt den runserver-Befehl zu verwenden? In diesem Fall ist das Ausführungsverzeichnis der Ordner Ihrer App und ein relativer Pfad zur JSON-Datei kann aufgelöst werden.

Sobald Sie einen Entwicklungs- oder echten Server ausführen und mit seiner URL auf die Ansicht im Browser zugreifen, ist das Ausführungsverzeichnis die Verwaltung der Datei manage.py (der Stammordner Ihres Projekts). Wenn Sie nur auf den Namen Ihrer JSON-Datei zugreifen, wird sie nicht gefunden, da Sie sie im falschen Ordner suchen.

Wofür verwenden Sie die JSON-Datei? Wenn es auch im Web-Browser verfügbar sein sollte (als Ressource für JavaScript), möchten Sie es vielleicht in den statischen Ordner Ihrer App oder Ihres Projekts einfügen (denken Sie daran, manage.py collectstatic dann auszuführen). In diesem Fall würde der STATIC_ROOT in settings.py definiert werden und Sie könnten den Pfad von dort (os.path.join(STATIC_ROOT, "path to json file"))

+0

Vielen Dank und ich denke Du hast mein Problem gelöst. Wenn ich die JSON-Datei in das Verzeichnis von manage.py lege, kann der Browser die JSON-Datei finden. Aber wenn ich es unter das Verzeichnis der App setze, passiert der E/A-Fehler. Vielen Dank für Ihre ausdrückliche Antwort –

+0

Ich bin froh, dass @SparrowJack gearbeitet hat. Wenn Ihr Problem am Ende gelöst ist, wäre es toll, wenn Sie meine Antwort als Lösung markieren könnten. – ingofreyer

+0

Ich bin froh, dass @SparrowJack gearbeitet hat. Wenn Ihr Problem am Ende gelöst ist, wäre es toll, wenn Sie meine Antwort als Lösung markieren könnten. – ingofreyer

0

Wenn Sie die JSON-Datei über den Browser anzeigen müssen, müssen Sie sie in den statischen Ordner stellen.

Verwandte Themen