2010-07-29 152 views
1

我在Debian VM上使用Django,通過nginx加載django服務器。直到現在,一切工作都很好,除了管理界面。實際上,管理網站不會加載界面的「外觀和感覺」。看來,Css和圖像根本沒有加載任何想法?Django:醜陋的管理界面

謝謝。

回答

4

ADMIN_MEDIA_PREFIX更改爲您的媒體所在的位置。如果您沒有複製媒體,將其從django存儲的任何位置複製,則會有媒體和管理員目錄。

類似的問題:Django admin has no style

+0

遺憾的是它並沒有取得訣竅... /python-2.6/django/contrib/admin放入我的項目文件夾並將ADMIN_MEDIA_PREFIX更新爲'./admin/media/'。停止Django服務器,重新啓動Nginx並重新啓動Django服務器... – Oleiade 2010-07-29 15:33:30

+1

你如何提供靜態文件?你的靜態文件在哪裏?你有沒有設置*任何*?這完全取決於你的配置。您尚未爲您的服務器設置提供足夠的信息。我無法猜測你是如何設置的,因爲有幾十種方法可以做到這一點。這個問題缺乏適當的信息來正確回答。 – 2010-07-29 15:41:09

+0

我還沒有設置任何服務靜態文件。所有請求都通過FastCgi提供給Django,而我的nginx conf看起來像這樣: – Oleiade 2010-07-29 15:55:59

2

你可能設置了錯誤的ADMIN_MEDIA_PREFIX設置,或者根本就沒有設置服務器最多爲來自該URL任何東西。如果您已將所有這些設置正確,請確保已將Django管理媒體複製(或鏈接)到您的項目中。

+0

因爲我已經回答了我的問題,沒有提出任何其他想法?謝謝 – Oleiade 2010-07-29 15:37:10

0

我還沒有設置任何服務靜態文件。所有請求都通過FastCGI的送達Django和我的nginx的conf看起來是這樣的:

服務器{

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; 
    } 
+1

你應該編輯最初的答案,而不是回答你自己的問題。 – 2010-07-29 18:05:03

3

嘗試添加媒體的別名。在爲Apache設置nginx代理時,我遇到了同樣的問題,在添加媒體別名後,我解決了這個問題。

下面是一個示例,我有我的nginx的站點配置文件:我試過從/ usr/local/lib目錄複製管理文件夾

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/; 
} 
+0

也會建議用'nginx'來標記這個問題。 – bennylope 2010-07-29 17:57:31

+0

聽起來不錯,但不幸的是,也沒有伎倆......我現在很反感Django。我可以做很好的事情,並且一切工作正常在本地Django服務器上,但使它通過nginx似乎並不是一個可靠的解決方案... – Oleiade 2010-07-30 09:38:44

+0

聽起來不像Django是如此多的服務器配置問題(無可否認,這可能是第一次出現的痛苦)。這對我來說是一個很好的資源:http://www.saltycrane.com/blog/2009/04/notes-using-nginx-mod_python-and-django/我的建議是嘗試訪問項目中的媒體文件,例如mysite.com/site_media/styles/base.css - 我的猜測是,現在他們沒有出現。只關注設置(Django,但主要是nginx),這些設置將正確地將URL指向媒體文件;它最可能與管理文件相同的問題。 – bennylope 2010-07-30 14:40:08