2016-09-29 4 views
0

Ein kleiner Hintergrund: Ich arbeite seit ungefähr sechs Monaten an diesem Projekt und es läuft die ganze Zeit auf Flask. Alles war in Ordnung, mehrere Versionen des Backends wurden live bereitgestellt, um eine App zu unterstützen, die seit Monaten produziert wird.Flask scheint keine Dateiänderungen zu erkennen

Der Entwicklungszyklus beinhaltet alles, was lokal zu schreiben und Flask-Script ist mit runserver Befehl, alles zu testen lokal auf localhost:8080 bevor sie zu einem Dev-Server bereitstellen und dann schließlich auf den Live-Server.

Das Problem: Neulich hörte meine lokale Kolbeninstanz, die auf localhost:8080 läuft, offenbar auf, meine lokalen Dateien zu respektieren.

Ich habe versucht, eine neue Ansicht (mit einer neuen Vorlage) zu erstellen, und ich habe einen 404-Fehler beim Versuch, es in meinem Browser anzuzeigen.

Ich versuchte dann, einige Teständerungen zu einer der vorhandenen Seiten vorzunehmen, indem ich einige zusätzliche Wörter zum Titel hinzufügte. Ich habe den Kolben neu gestartet und keine dieser Änderungen ist erschienen.

Ich ging dann so weit wie das Löschen der gesamten views.py Datei. Nachdem ich den Kolben erneut gestartet hatte, konnte ich, sehr zu meiner Bestürzung, immer noch die Seiten sehen, die ursprünglich dort waren (d. H. Bevor dieses Verhalten begann).

Schließlich habe ich einige Änderungen an der Datei manage.py vorgenommen, wo ich alle Flask-Script-Befehle ablege, und sie wurden auch nicht erkannt. Es ist so, als hätte FlasK angefangen, von einer zwischengespeicherten Version des Dateisystems zu lesen, die nicht aktualisiert wird (was sehr gut der Fall sein könnte, aber ich habe keine Ahnung, warum es damit anfing oder wie das Problem behoben wurde).

FYI: Browser-Caching sollte kein Problem b/c Ich habe die Dev-Tools geöffnet mit Caching deaktiviert. Außerdem sollte die Tatsache, dass Änderungen an manage.py nicht bemerkt werden, nichts mit dem Browser zu tun haben.

+0

Welche Dateien verweisen Sie als lokale Dateien, .py-Dateien und Vorlagen oder nur als .py-Dateien. Um Vorlagen erneut zu laden, müssen Sie diese an den Befehl run() übergeben. Erzwingen Sie die Aktualisierung, indem Sie den Abfragestring "http: // urll? 123" hinzufügen, oder laden Sie die Vorlage neu und versuchen Sie, den Browser-Cache zu löschen. – Cyclotron3x3

+0

Das ist sehr verdächtig. Sind Sie sicher, dass Sie den lokalen Server im richtigen Verzeichnis und virtualenv starten? Haben Sie versucht, flask direkt (z. B. 'python app.py') mit Debug-Modus zu starten? – Dauros

+0

Was befindet sich in Ihrer Datei 'manage.py'? Sind Sie sicher, dass Sie dem Entwicklungsserver mitteilen, den Reloader zu verwenden? – dirn

Antwort

0

Ich hatte ein ähnliches Problem und löschte die .pyc Dateien löste es für mich.

Verwandte Themen