Django 1.5.2在自定义上下文处理器内使用resolve调试false会导致服务器错误

Django 1.5.2在自定义上下文处理器内使用resolve调试false会导致服务器错误,django,Django,我有一个自定义的上下文处理器。我将在每个请求中获得url_名称,以便全局传递到模板 def custom_context_processor(request=None, sender=None, **kwargs): url_name = resolve(request.path).url_name ..... 调试模式为真时,一切正常。但当它设置为False时,我得到500个服务器错误 在测试了一段时间后,我发现i18n url模式无法使用debug=False 例如,如果我

我有一个自定义的上下文处理器。我将在每个请求中获得url_名称,以便全局传递到模板

def custom_context_processor(request=None, sender=None, **kwargs):
    url_name = resolve(request.path).url_name
    .....
调试模式为真时,一切正常。但当它设置为False时,我得到500个服务器错误

在测试了一段时间后,我发现i18n url模式无法使用debug=False

例如,如果我写localhost/it,它不会重定向到默认语言localhost/en

但是,如果我编写localhost/en django,则不会出现错误,并且可以按预期工作

在settings.py中,我有:

ALLOWED_HOSTS = ['*']
我在templates文件夹中有404.html和500.html错误页

在Django中启用错误日志时,我得到:

  Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wsgiref/handlers.py", line 85, in run
    self.result = application(self.environ, self.start_response)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Django-1.5-py2.7.egg/django/core/handlers/wsgi.py", line 255, in __call__
    response = self.get_response(request)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Django-1.5-py2.7.egg/django/core/handlers/base.py", line 156, in get_response
    response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Django-1.5-py2.7.egg/django/core/handlers/base.py", line 224, in handle_uncaught_exception
    return callback(request, **param_dict)
  File "/Users/burakk/BurakWorks/Web/Shiftf5/Development/Eclipse/shiftf5/shiftf5/urls.py", line 64, in server_error
    response = render(request, "errors/index.html")
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Django-1.5-py2.7.egg/django/shortcuts/__init__.py", line 49, in render
    context_instance = RequestContext(request, current_app=current_app)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Django-1.5-py2.7.egg/django/template/context.py", line 179, in __init__
    self.update(processor(request))
  File "/Users/burakk/BurakWorks/Web/Shiftf5/Development/Eclipse/shiftf5/shiftf5/web/context_processors.py", line 31, in shiftf5_web
    url_name = resolve(request.path)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Django-1.5-py2.7.egg/django/core/urlresolvers.py", line 440, in resolve
    return get_resolver(urlconf).resolve(path)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Django-1.5-py2.7.egg/django/core/urlresolvers.py", line 334, in resolve
    raise Resolver404({'tried': tried, 'path': new_path})
Resolver404: {u'path': u'', u'tried': [[<RegexURLResolver <RegexURLPattern list> (admin:admin) ^admin/>], [<RegexURLResolver <module 'mediaalbums.urls' from '/Users/burakk/BurakWorks/Web/Shiftf5/Development/Eclipse/shiftf5/mediaalbums/urls.pyc'> (None:None) ^shiftf5_mediaalbums/>], [<RegexURLResolver <module 'django.conf.urls.i18n' from '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Django-1.5-py2.7.egg/django/conf/urls/i18n.pyc'> (None:None) ^i18n/>], [<RegexURLResolver <module 'taggit_autosuggest.urls' from '/Users/burakk/BurakWorks/Web/Shiftf5/Development/Eclipse/shiftf5/taggit_autosuggest/urls.pyc'> (None:None) ^taggit_autosuggest/>], [<RegexURLResolver <module 'grappelli.urls' from '/Users/burakk/BurakWorks/Web/Shiftf5/Development/Eclipse/shiftf5/grappelli/urls.pyc'> (None:None) ^grappelli/>], [<RegexURLPattern None ^favicon\.ico$>], [<RegexURLResolver <module 'ckeditor.urls' from '/Users/burakk/BurakWorks/Web/Shiftf5/Development/Eclipse/shiftf5/ckeditor/urls.pyc'> (None:None) ^ckeditor/>], [<RegexURLResolver <module 'rosetta.urls' from '/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/django_rosetta-0.7.1-py2.7.egg/rosetta/urls.pyc'> (None:None) ^rosetta/>], [<LocaleRegexURLResolver <RegexURLResolver list> (None:None) ^en/>], [<RegexURLPattern haystack_search_ml ^search/$>]]}
[13/Sep/2013 15:57:54] "GET / HTTP/1.1" 500 59
回溯(最近一次呼叫最后一次):
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/wsgiref/handlers.py”,第85行,运行中
self.result=应用程序(self.environ、self.start\u响应)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/Django-1.5-py2.7.egg/Django/core/handlers/wsgi.py”,调用中第255行__
响应=自我获取响应(请求)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/Django-1.5-py2.7.egg/Django/core/handlers/base.py”,第156行,在get_响应中
response=self.handle\u uncaught\u异常(请求、解析器、sys.exc\u info())
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/Django-1.5-py2.7.egg/Django/core/handlers/base.py”,第224行,在handle\u uncaught\u异常中
返回回调(请求,**参数)
文件“/Users/burakk/BurakWorks/Web/Shiftf5/Development/Eclipse/Shiftf5/Shiftf5/url.py”,第64行,服务器错误
response=render(请求“errors/index.html”)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/Django-1.5-py2.7.egg/Django/shortcuts/________.py”,第49行,在渲染中
上下文\实例=请求上下文(请求,当前\应用程序=当前\应用程序)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/Django-1.5-py2.7.egg/Django/template/context.py”,第179行,在__
自我更新(处理器(请求))
文件“/Users/burakk/BurakWorks/Web/Shiftf5/Development/Eclipse/Shiftf5/Shiftf5/Web/context\u processors.py”,第31行,Shiftf5\u Web
url\u name=resolve(request.path)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/Django-1.5-py2.7.egg/Django/core/urlresolvers.py”,第440行,在resolve中
返回get_解析器(urlconf).resolve(path)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/Django-1.5-py2.7.egg/Django/core/urlresolvers.py”,第334行,在resolve中
引发解析404({'trued':trued'path':new_path})
解析404:{u'路径:u'',u'trued':[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]
[13/Sep/2013 15:57:54]“GET/HTTP/1.1”500 59