Django admin没有风格

时间:2009-12-02 15:35:59

标签: django django-admin

我刚刚在我的登台服务器上移动了我的django网站,并且该网站的管理员端没有使用它的样式,当以前在本地开发时它很好,我在某处读到我需要创建一个符号链接,我通过这样做

sudo ln -s /var/www/sico/htdocs /usr/lib/python2.5/site-packages/django/contrib/admin/

但是我没有做任何其他事情我可以尝试吗?

2 个答案:

答案 0 :(得分:10)

根据您的网络服务器设置,您可以采用以下两种方式之一:

符号链接

在您网站的根文件夹中,您应该创建一个指向Django管理媒体目录的符号链接,在Django应用程序的设置中名称为ADMIN_MEDIA_PREFIX。默认情况下,这是/media/,因此在您的网络根文件夹中,创建一个名为media/usr/lib/python2.5/site-packages/django/contrib/admin/media的符号链接。 (请注意符号链接末尾的尾随media,这是您自己的示例中缺少的 - Django管理媒体位于media子目录in contrib / admin`中。

Apache Alias

如果您的生产服务器是Apache,并且您可以更改根配置,则可以使用mod_alias来设置Django管理媒体的路径。同样,假设您的ADMIN_MEDIA_PREFIX/media/,您可以设置如下别名:

<VirtualHost *:80>
  Alias /media/ /usr/local/lib/python2.5/site-packages/django/contrib/admin/media/
</VirtualHost>

这样,路径/media/下的所有请求都将被解析到该目录。

大多数其他服务器也存在类似的技术,例如Lighttpd或nginx;如果您不使用Apache,请查阅服务器的文档。


使用Apache mod_alias的解决方案可能最适合部署,但符号链接方法也同样适用。

您的应用程序在登台服务器上工作的原因很可能是因为它与Django的内部Web服务器一起运行,该服务器可以自动解析管理媒体目录的路径。

答案 1 :(得分:1)

我认为你以错误的方式创建了符号链接 - 你的命令在.... / contrib / admin /

中创建了一个htdocs符号链接

您需要的是

sudo ln -s /usr/lib/python2.5/site-packages/django/contrib/admin/ /var/www/sico/htdocs/X

X是您需要访问ADMIN_MEDIA_PREFIX的地方。我认为默认值为admin/media

希望有所帮助