Django (还有一个)当DEBUG=False时自定义templatetag引发KeyError

Django (还有一个)当DEBUG=False时自定义templatetag引发KeyError,django,django-templates,Django,Django Templates,我试图在我的项目上使用一个定制的templatetag(实际上是:),只要DEBUG=True,它就可以正常工作。如果为False,则相关错误部分为: File "...app/templatetags/helper_tags.py", line 15, in change_lang path = context['request'].path File "...local/lib/python2.7/site-packages/django/template/context.py", line

我试图在我的项目上使用一个定制的templatetag(实际上是:),只要DEBUG=True,它就可以正常工作。如果为False,则相关错误部分为:

File "...app/templatetags/helper_tags.py", line 15, in change_lang
path = context['request'].path
File "...local/lib/python2.7/site-packages/django/template/context.py",
line 56, in __getitem__
raise KeyError(key)
KeyError: 'request'
我见过很多这样的问题,我已经做了设置,所有人都看到了这些设置,它们表明:

1) views.py使用django.shortcuts.render:

from django.shortcuts import render
def home(request):
    return render(request, 'home.html')
2) settings.py包含:

ALLOWED_HOSTS = ['*']

from django.conf import global_settings
TEMPLATE_CONTEXT_PROCESSORS = global_settings.TEMPLATE_CONTEXT_PROCESSORS + (
    "django.core.context_processors.request",
)
我还使用相同的Django版本(1.6.2)创建了一个新项目,该版本尝试尽可能多地模仿有问题的项目,而对于我来说,当DEBUG=False时,它也可以正常工作

任何关于这方面的提示都非常感谢


干杯

请显示呈现模板的视图。您是否100%确定您的设置文件中有正确的允许的\u主机(例如,底部没有其他声明)。还可以在python解释器中尝试“type(['*']),它应该返回列表。只是好奇而已。您使用什么版本的python?python 2.7.6,并且返回类型(['*')。重新检查允许的\u主机。出现错误。我走错了路,因为这个回溯是呈现的500.html服务器错误模板,所以我不会在该模板上获得上下文处理器。这与我的要求或我提到的所有其他事情无关;翻译配置问题是罪魁祸首。