Django Admin hat keinen Stil

8

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?

    
Udders 02.12.2009, 15:35
quelle

2 Antworten

10

Abhängig von der Einrichtung Ihres Webservers können Sie dies auf zwei Arten tun:

Symlinking

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 ').

Apache Alias ​​

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:

%Vor%

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.

    
mipadi 02.12.2009 15:45
quelle
1

Ich denke, Sie haben den Symlink falsch herum erstellt - Ihr Befehl hat einen htdocs symlink in .... / contrib / admin /

erstellt

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

    
Aaron Lockey 02.12.2009 15:46
quelle

Tags und Links