【发布时间】:2010-07-29 15:14:42
【问题描述】:
我在 Debian VM 上使用 Django,django 服务器是通过 nginx 加载的。到目前为止一切正常,除了管理界面。事实上,管理站点并没有加载界面的“外观”。似乎 Css 和图像根本没有加载,有什么想法吗?
谢谢。
【问题讨论】:
标签: django django-admin nginx
我在 Debian VM 上使用 Django,django 服务器是通过 nginx 加载的。到目前为止一切正常,除了管理界面。事实上,管理站点并没有加载界面的“外观”。似乎 Css 和图像根本没有加载,有什么想法吗?
谢谢。
【问题讨论】:
标签: django django-admin nginx
将ADMIN_MEDIA_PREFIX 更改为您的媒体所在的位置。如果您没有复制媒体,请从存储 django 的任何地方复制它,那里有一个 media 和 admin 目录。
【讨论】:
尝试添加媒体别名。在为 Apache 设置 nginx 代理时,我遇到了同样的问题,在添加媒体别名后,我解决了这个问题。
这是我的 nginx 站点配置文件中的一个示例:
location /media/ {
alias /opt/django-env/django_project/media/;
}
location /admin_media/ {
alias /opt/django-env/lib/python2.6/site-packages/django/contrib/admin/media/;
}
【讨论】:
您可能设置了错误的 ADMIN_MEDIA_PREFIX 设置,或者根本没有将服务器设置为从该 URL 提供任何内容。如果您已正确设置所有这些,请确保您已将 Django 管理媒体复制(或链接)到您的项目。
【讨论】:
我没有设置任何服务静态文件。所有请求都通过 FastCgi 提供给 Django,我的 nginx 配置如下所示:
服务器{
listen 192.168.61.130:80; ## listen for ipv4
##listen [::]:80 default ipv6only=on; ## listen for ipv6
server_name 192.168.61.130;
access_log /var/log/nginx/localhost.access.log;
error_log /var/log/nginx/localhost.error.log;
location / {
root /var/www/socratie;
index index.html index.htm;
fastcgi_pass 127.0.0.1:8000;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
}
【讨论】: