Django und die Bereitstellung statischer Dateien
-
19-09-2019 - |
Frage
Ich hoste eine Website auf WebFaction mit Django/mod_python/Python2.5.Ich bin kürzlich auf das Konzept statischer Dateien gestoßen (beim Einrichten meines Django-Administrators).
Soweit ich weiß, besteht die Bereitstellung statischer Dateien einfach darin, dem Server mitzuteilen, dass er Dateien direkt aus einem bestimmten Verzeichnis bereitstellen soll, anstatt die Anfrage zuerst über Apache, dann über mod_python, dann über Django und schließlich zurück an den Benutzer weiterzuleiten.Im Fall von WebFaction ist dies besonders hilfreich, da Ihre Anfrage zwei Apache-Server durchlaufen muss (den Server Ihrer App und den öffentlichen Hauptserver).
Warum benötigt Django beim Einrichten der statischen Dateien nur den Ordner /media in /contrib/admin?Bezieht sich der gesamte statische Inhalt von Django nur auf das Admin-Panel?
Wenn ich meine eigenen statischen Inhalte (Bilder, CSS usw.) bereitstellen möchte, sollte ich diese in denselben /media-Ordner einfügen oder einen anderen Alias für meine eigenen Inhalte (/my_media) einrichten?
Lösung
Ja, die von Django verwendeten statischen Dateien beziehen sich für den Administrator weitgehend auf Bilder, Javascript und CSS.Alle anderen statischen Inhalte stammen aus Ihrer Bewerbung.Sie können beide Sets (Ihres und das des Administrators) unter demselben Server behalten.Legen Sie einfach die entsprechenden Ordner in der Einstellungsdatei fest.
- http://docs.djangoproject.com/en/dev/ref/settings/#admin-media-prefix
- http://docs.djangoproject.com/en/dev/ref/settings/#media-root
- http://docs.djangoproject.com/en/dev/ref/settings/#media-url
Weitere Informationen finden Sie in diesem Beitrag:
Andere Tipps
Djangos statische Dateien (z. B.js, css, Bilder usw.) befinden sich alle im Medienordner und beziehen sich auf das Admin-Panel.
Um bei WebFaction Rechenleistung und vor allem Speicher zu sparen, ist es besser, diese von Ihrem sekundären Apache-Server (oder noch besser von Nginx oder Lighttpd) bereitzustellen, ohne über mod_python und Django gehen zu müssen.
Ich verwende die folgende Ordnerkonfiguration für meine Dateien:
media
css
js
img
etc
admin
css
js
img
Sehen http://forum.webfaction.com/viewtopic.php?id=1981 Wenn Sie interessiert sind, erfahren Sie, wie Sie Nginx als Ihren sekundären Server auf WebFaction einrichten.