2011-05-09 95 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来处理它。