2011-05-09 131 views
0

我在外部服務器(AWS)上設置我的網站時很困難。除了靜態文件(css和圖像),一切似乎都在工作。在Django的網絡服務器上提供靜態文件

我的項目是建立像這樣 -

/var/www/ 
    djangoapps 
     myproject 
      settings.py, apps, etc.  
    djangotemplates 
     myproject 
      HTML files 
/var/www/html 
    media 
     static  
      Images & CSS files 

在的httpd的conf文件我有 -

<Location /mysite> 
     SetHandler python-program 
     PythonHandler django.core.handlers.modpython 
     SetEnv DJANGO_SETTINGS_MODULE mysite.settings 
     SetEnv PYTHON_EGG_CACHE "/var/cache/www/pythoneggs" 
     PythonDebug Off 
     PythonPath "['/var/www/djangoapps'] + sys.path" 
</Location> 

<Location "/media/"> 
     SetHandler None 
</Location> 

而且在settings.py -

STATIC_URL = '/myproject/static/' 
STATICFILES_DIRS = ('/var/www/html/media/static/',) 

當我加載頁面時,模板正在工作,並且圖像文件的URL是'正確的'(例如,background: url("/myproject/static/email.jpg")。但是,t他的圖像沒有加載。你能告訴我需要改變什麼,以便圖像和CSS能夠正確加載嗎?謝謝

回答

1

你需要爲你的靜態文件添加一個別名。例如:

Alias /myproject/static/ /var/www/djangoapps/myproject/media/static 

這樣Apache將提供靜態文件而不是要求django來處理它。