Django: Wie webserver neu zu starten, so dass änderungen im sourcecode angewendet werden
Ich mit Eclipse mit PyDev zu entwickeln Django Webapplication. Ich kann anfangen, meinen webserver mit
python manage.py runserver
und dann kann ich testen, meine webapplication lokal in meinem browser. Aber jedesmal, wenn ich den sourcecode habe ich, um starten Sie eclipse erneut, damit diese änderungen angewendet in meiner webapplication.
Ich denke, ich muss irgendwie starten Sie den webserver so, dass meine sourceode wird interpretiert wieder so, dass meine änderungen angewendet werden. Aber wie mache ich das? Ich konnte nicht finden keinen Befehl, dies zu tun.
haben Sie versucht, die F5-Taste nach code-änderung? Das funktioniert für mich. Mit oder ohne eclipse.
Ja, das habe ich versucht!
Ja, das habe ich versucht!
InformationsquelleAutor Pascal Klein | 2011-08-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Django-dev-server neu gestartet es selbst beim python-code änderungen. Kann dies nicht geschah, wenn man es auch mit noreload option
./manage.py runserver --noreload
Anderen Fall, wenn der server nicht automatisch neu geladen wird wenn die Dateien verändert verwendet wird und nicht django. Wenn Sie zum Beispiel syntax-Fehler in Ihrem admin.py django nicht nutzen es. Und ändern wird es nicht starten Sie den server neu.
Denken Sie daran, dass, wenn Sie mit eclipse Debuggen wird django mit noreload, weil ein bug, der nicht der relaunch der Instanz, sondern beginnt eine neue.
InformationsquelleAutor Ilian Iliev
Konfigurieren Sie zunächst das Projekt als ein django-Projekt in eclipse, wenn nicht bereits so. (Rechtsklick auf das Projekt, und wählen Sie PyDev -> als Django-Projekt).
Zweite, klicken Sie auf die grüne Schaltfläche "ausführen" an der Spitze, und wählen Sie "run configurations". Wählen Sie den PyDev Django-Symbol und drücken Sie die Schaltfläche "neue Startkonfiguration" an der Spitze. Geben Sie den Namen des Projekts, (sagen wir mal testproject), und "${workspace_loc:testproject}/${DJANGO_MANAGE_LOCATION}" für den main-Modul.
Auf dem Arugments Registerkarte, geben Sie "runserver 0.0.0.0:8000 --noreload" wenn Sie wollen, dass Ihr server sichtbar, für Maschinen, die außerhalb von Ihr, oder "runserver --noreload" wenn Sie möchten, den Zugang auf Ihre Maschine nur, und ändern Sie das Arbeitsverzeichnis in das Verzeichnis "${workspace_loc:}".
Klicken Sie auf anwenden, und Sie sollten gesetzt werden, um zu gehen!
Hier ist, was es Aussehen sollte, wenn die Ausführung in eclipse:
Wenn Sie innerhalb von eclipse als pydev die Konfiguration auszuführen, müssen Sie "--noreload", denn wenn die runserver sonst läuft im autoreload-Modus beginnt ein weiterer Prozess, der pydev nicht kontrollieren kann (und sich nicht durchsetzen die Ausgabe in der Konsole-Fenster).
Dies bedeutet, dass, wenn Sie änderungen vornehmen, werden Sie relaunch innerhalb von eclipse (hit-das rote Quadrat). Sie sollten sehen, die app läuft in der Konsole-Fenster.
Vielen Dank für Ihren letzten Kommentar: ich musste nur klicken Sie auf das rote "beenden" - Button!!!! Dann Laufen wieder und mein neuer sourcecode angewendet wird, um meine app! Vielen Dank.
--Noreload option sollte nur verwendet werden, wenn im debug-Modus. Das problem mit der separaten Prozess auszuführen, die Adam erwähnt, erschien nur, wenn Sie nicht läuft es im debug-Modus. Im normalen Modus ist es ok, um es ohne noreload. Off-topic: mit den dev-server zu dienen alle Dinge(django und Medien) ist wirklich langsam, ich schlage vor, Sie verwenden den echten web-server für die Betreuung der media-Dateien.
InformationsquelleAutor Adam Morris