2012-12-03 51 views
0

我發現了幾個問題,我的問題,你的解決方案沒有幫助我,所以我開始了一個新的問題。基本上,這就是我看到管理頁面 no css/no js/ no imagesDjango管理頁面丟失圖像/ css/js

Apache的配置:

<VirtualHost *.*.*.*:80> 
    ServerName ********.org 
    ServerAdmin ****@******.org 

    WSGIScriptAlias//var/www/webproxy/webproxy/wsgi.py 

    DocumentRoot /var/www/cgi-bin/ 
    ScriptAlias /cgi-bin/ /var/www/cgi-bin/ 

    ErrorLog /var/www/webproxy/apache/error.log 

LogLevel warn 

CustomLog /var/www/webproxy/apache/access.log combined 

Alias /media/ "/var/www/webproxy/media/" 

<Directory "/var/www/webproxy/media/"> 
    Options Indexes MultiViews FollowSymLinks 
    AllowOverride None 
    Order deny,allow 
    Allow from all 
</Directory> 

<Directory "/var/www/webproxy/static/"> 
    Order deny,allow 
    Allow from all 
</Directory> 

這是我在urls.py:

from django.conf.urls.defaults import * 
from django.contrib import admin 
admin.autodiscover() 

from core import urls as core_urls 

from settings import MEDIA_ROOT, WEBPROXY_MEDIA_ROOT 

urlpatterns = patterns('', 
    (r'^admin/', include(admin.site.urls)), 
    (r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': MEDIA_ROOT}), 
    (r'^ui/(?P<path>.*)$', 'django.views.static.serve', {'document_root': WEBPROXY_MEDIA_ROOT}), 
) 

settings.py:

MEDIA_ROOT = '/var/www/webproxy/media/' 
STATIC_ROOT = '/var/www/webproxy/static/' 
WEBPROXY_MEDIA_ROOT = '/var/www/webproxy/static/media/' 

我不確定這裏有什麼問題。任何幫助將非常感激。

+0

您的設置「MEDIA_ROOT」和「WEBPROXY_MEDIA_ROOT」的.py'值? –

+0

我已更新問題 – KennyPowers

+0

Django管理員媒體文件是否在上述任何靜態文件位置下複製(理想情況下符號鏈接)?編輯我的答案。 –

回答

2

首先,你不應該通過django.views.static.serve生產服務於靜態文件,是爲了使用當地發展(閱讀文檔here):

有可能比其他文件您的項目的靜態資產,對於 的便利性,您希望讓Django在本地 開發中爲您服務。

其次,您的Django Admin靜態文件位於Django安裝位置的下方。我發現直接使用這些文件比在自己的靜態文件目錄下複製(或符號鏈接)Django管理靜態文件更好。

例Django的我的服務器上的靜態文件的位置:

/usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/admin/; 

因此,在您的Web服務器的配置你如果你在本地做的事情到url /media/admin指向

[my_django_location]/contrib/admin/static/admin/ 

,然後您可能需要在您的另一個條目urls.py

(r'^admin/static/(?P<path>.*)$', 'django.views.static.serve', '/path/to/your/admin/files/'), 
+0

感謝您的第一條建議,我將在將此應用程序移至生產時遵循該文件模式。其次,我爲所有靜態文件夾創建了符號鏈接'ln -s /usr/lib/python2.6/site-packages/django/contrib/admin/media/ admin'。這沒有幫助:( – KennyPowers

+0

@KennyPowers嘗試從瀏覽器訪問單個css文件;可能是磁盤上的文件結構出錯,而不是Django靜態文件路由。 –

+0

'找不到頁面(404) 請求方法:\t GET 請求網址:\t http:// ****。org/static/admin/css/base.css'這就是我得到的... – KennyPowers