2017-05-16 3 views
0

Flask Dokumentation Zustände:Flask - GET Anfrage an 'static' Verzeichnis gibt Fehler 404

Dynamische Web-Anwendungen benötigen auch statische Dateien. Das ist normalerweise wo die CSS- und JavaScript-Dateien herkommen. Idealerweise ist Ihr Webserver so konfiguriert, dass er sie für Sie bereitstellt, aber während der Entwicklung kann Flask das auch tun: . Erstellen Sie einfach einen Ordner namens static in Ihrem Paket oder neben Ihrem Modul und es wird verfügbar sein unter/static auf der Anwendung.

Aber in meinem Webapp, wenn ich versuche, localhost:5000/static/ acces, erhalte ich ein 404 Fehler auf dem Browser. Was komischer ist ist, dass wenn ich es im Debug-Modus laufen lasse, bekomme ich eine 200 (ok) auf dem Terminal und 404 auf dem Browser.

Können Sie erklären, was passiert? Ich möchte eine Verzeichnisliste meines statischen Verzeichnisses im Browser.

Antwort

2

Dateien, die Sie setzen in den /static Ordner zugänglich sein wird, aber Kolben doesn‘ t Verzeichnisliste. Wenn Sie also eine script.js in /static/js zum Beispiel setzen, sollten Sie in der Lage sein zu GET /static/js/script.js obwohl GET /static Willen 404.

1

Sie erhalten einen 404, weil die Ressource nicht zurückgegeben werden kann, wie sie ist. Sie erhalten 200, weil die Ressourcen in dem Sinne existieren, dass ein statischer Ordner vorhanden ist.

Probieren Sie dies aus:

http://packages.python.org/Flask-AutoIndex/

Sie Verzeichnisinhalt zeigen können und sie im Browser zeigen usw.

+0

also ursprünglich Flask werden die Dateien in 'static' für mich nicht auflisten, wenn ich' es GET', nicht wahr? – agdhruv

+1

Rechts müssen Sie die "Verzeichnisliste" für jeden Webserver aktivieren, und das Flask-AutoIndex-Paket ist in diesem Fall die Flask-freundliche Methode. – JacobIRR