我刚刚在我的登台服务器上移动了我的django站点,并且该站点的管理员端没有它的样式,当以前在本地开发它很好时,我在某处读到我需要创建一个符号链接,我做到了这样做
sudo ln -s /var/www/sico/htdocs /usr/lib/python2.5/site-packages/django/contrib/admin/
但那没有什么我可以尝试的其他东西吗?
根据您的Web服务器设置,您可以使用以下两种方法之一:
符号链接在您网站的根文件夹中,您应该创建一个指向Django管理媒体目录的符号链接,其名称与ADMIN_MEDIA_PREFIX
Django应用程序的设置相同.默认情况下,这是/media/
在您的Web根文件夹中,创建一个名为media
to 的符号链接/usr/lib/python2.5/site-packages/django/contrib/admin/media
.(注意media
符号链接末尾的尾随,这是你自己的例子中缺少的 - Django管理媒体位于contrib/admin` 的media
子目录中in
).
如果您的生产服务器是Apache,并且您可以更改根配置,则可以使用mod_alias
设置Django管理介质的路径.再说一次,假设你的ADMIN_MEDIA_PREFIX
是/media/
,你可以设置一个这样的别名:
Alias /media/ /usr/local/lib/python2.5/site-packages/django/contrib/admin/media/
这样,路径下的所有请求/media/
都将解析为该目录.
大多数其他服务器也存在类似的技术,例如Lighttpd或nginx; 如果您不使用Apache,请查阅服务器的文档.
使用Apache的解决方案mod_alias
可能最适合部署,但符号链接方法也同样适用.
您的应用程序在登台服务器上工作的原因很可能是因为它与Django的内部Web服务器一起运行,该服务器可以自动解析管理媒体目录的路径.