关于部署的Django静态文件问题

时间:2011-04-17 07:25:39

标签: django django-templates

您好我正在尝试部署使用{{ STATIC_URL }}标记的django应用。

当我将代码放在EC2上时(在调试模式下),我收​​到以下错误:

Module "django.core.context_processors" does not define a "static" callable 
        request processor

这不会发生在./manage.py runserver上 当我从模板上下文处理器中删除django.core.context_processors.static时,这也消失了(但我没有获得静态媒体)

任何人都知道发生了什么事?

3 个答案:

答案 0 :(得分:3)

版本1.3中添加了static context_processor - 和staticfiles应用程序。看起来你在生产中运行的是旧版本。

答案 1 :(得分:1)

答案 2 :(得分:0)

我希望你找到了解决方案。但是因为没有人决定把它放在这里我会,如果有任何一个新的Django如我自己偶然发现这个错误,这是我的解决方案。如果您仔细阅读错误,假设您有DEBUG = True,您将会发现django.core中的 context_processors.py 缺少静态定义(pythonic函数)模块。因此,请在您的目录中。在我的服务器上它是 /usr/lib/python2.6/dist-packages/django/core 。编辑context_processors.py并添加以下函数

 def static(request):
    # this func will static-related context variables to the context
    return {'STATIC_URL': settings.STATIC_URL}