我正在尝试使用Apache + mod_wsgi将我的Django应用程序部署到生产中,但是遇到了静态文件的问题。出于某种原因,我的模板在生产中无法识别{{ STATIC_URL }}
。在开发中,我的静态文件具有URL:
<script type="text/javascript" src="/static/js/myfile.js"></script>
但在制作中,网址为:
<script type="text/javascript" src="js/myfile.js"></script>
当我尝试打印{{STATIC_URL}}
时,它在制作中是空白的。我在这里缺少什么?
谢谢!
答案 0 :(得分:6)
刚遇到这个试图自己解决这个问题。对我而言,关键的一步是我的观点传递的是Context
而不是RequestContext
对象。为了解决这个问题,在我使用render_to_response
方法的地方,我必须提供以下第三个参数:
context_instance=RequestContext(request)
你的问题显然已经解决了,但这是为了防止其他人遇到同样的问题。
答案 1 :(得分:1)
mod_wsgi是否使用与shell相同的python?同样的PYTHONPATH?
我建议尝试另一个Web服务器,只是为了知道它是否是mod_wsgi问题,或者它是您的设置/环境的问题。 Gunicorn很容易设置。使用它:
pip install gunicorn
gunicorn
添加到您的INSTALLED_APPS ./manage.py run_gunicorn