我很难在外部服务器(AWS)上设置我的网站。除静态文件(css和图像)外,一切似乎都在工作。
我的项目设置如此 -
/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")
。但是,图片没有加载。你能告诉我我需要什么吗?改变,以便图像和CSS正确加载?谢谢
答案 0 :(得分:2)
你见过official docs on serving static media with mod_python吗?我怀疑你需要为你的媒体文件做的静态文件使用类似的SetHandler。
此外,不推荐使用mod_python。
答案 1 :(得分:1)
您需要为要提供的静态文件添加别名。类似的东西:
Alias /myproject/static/ /var/www/djangoapps/myproject/media/static
这样Apache就会提供静态文件而不是让django来处理它。