Ich habe gerade meine Django-Site auf meinen Staging-Server verschoben, und die Admin-Seite der Site hat kein Styling damit, als vorher in der lokalen Entwicklung es in Ordnung war, las ich irgendwo, dass ich einen symbolischen Link erstellen muss, I tat dies, indem Sie dies tun
%Vor%Aber das hat nichts getan. Gibt es noch etwas, das ich ausprobieren kann?
Abhängig von der Einrichtung Ihres Webservers können Sie dies auf zwei Arten tun:
Im Stammordner Ihrer Website sollten Sie einen symbolischen Link zu Ihrem Django Admin-Medienverzeichnis erstellen, wobei der Name in den Einstellungen Ihrer Django-App als ADMIN_MEDIA_PREFIX
angegeben wird. Standardmäßig ist dies /media/
. Erstellen Sie also in Ihrem Webstammordner einen symbolischen Link namens media
to /usr/lib/python2.5/site-packages/django/contrib/admin/media
. (Beachten Sie das abschließende media
am Ende des Symlinks, das in Ihrem eigenen Beispiel fehlt - das Django Admin-Medium befindet sich in einem media
Unterverzeichnis in
contrib / admin ').
Wenn Ihr Produktionsserver Apache ist und Sie die Stammkonfiguration ändern können, können Sie mod_alias
verwenden, um den Pfad zu den Django-Administratormedien einzurichten. Angenommen, Ihr ADMIN_MEDIA_PREFIX
ist /media/
, können Sie einen Alias wie folgt einrichten:
Auf diese Weise werden alle Anfragen unter dem Pfad /media/
in dieses Verzeichnis aufgelöst.
Eine ähnliche Technik existiert für die meisten anderen Server, wie Lighttpd oder nginx; Konsultieren Sie die Dokumentation Ihres Servers, wenn Sie Apache nicht verwenden.
Die Lösung, die Apache mod_alias
verwendet, ist wahrscheinlich am besten für die Bereitstellung, aber der Symlinking-Ansatz funktioniert genauso gut.
Der Grund dafür, dass Ihre App auf Ihrem Staging-Server funktioniert hat, ist wahrscheinlich, dass sie mit dem internen Django-Webserver ausgeführt wurde, der den Pfad zum Administratormedienverzeichnis automatisch auflösen kann.
Ich denke, Sie haben den Symlink falsch herum erstellt - Ihr Befehl hat einen htdocs
symlink in .... / contrib / admin /
Was Sie brauchen, ist etwas wie
%Vor% Wo X
ist, was immer Sie benötigen, um zu Ihrem ADMIN_MEDIA_PREFIX zu gelangen. Ich denke, der Standardwert wäre admin/media
Ich hoffe, das hilft
Tags und Links django django-admin