Django STATIC_URL值在生产中无法识别

时间:2011-04-25 03:37:47

标签: django apache mod-wsgi

我正在尝试使用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}}时,它在制作中是空白的。我在这里缺少什么?

谢谢!

2 个答案:

答案 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
  • 运行生产服务器