当USE_I18N为True时,django上下文请求错误

时间:2014-12-08 09:45:44

标签: django django-middleware

我使用2种语言的网站,我收到此错误:

2014-12-07 03:05:51: (mod_fastcgi.c.2695) FastCGI-stderr:   File "/home/ikresoft/oglasise/web/templatetags/web_tags.py", line 157, in main_menu
2014-12-07 03:05:51: (mod_fastcgi.c.2695) FastCGI-stderr:     request = context['request']
2014-12-07 03:05:51: (mod_fastcgi.c.2695) FastCGI-stderr:   File "/home/ikresoft/virtualenv/oglasise/local/lib/python2.7/site-packages/django/template/context.py", line 56, in __getitem__
2014-12-07 03:05:51: (mod_fastcgi.c.2695) FastCGI-stderr:     raise KeyError(key)

USE_I18NFalse时,我不会收到此错误..

当有2种语言时,当使用sufix /en/访问网站时,它可以正常工作,但是在部署模式下没有该sufix我会收到该错误..

DEBUG = True上一切正常..

web_tags.py:

@register.inclusion_tag('web/main_menu.html', takes_context=True)
def main_menu(context, active_menu):
    from postman.models import Message

    request = context['request']
    try:
        unread_count = Message.objects.inbox_unread_count(request.user)
    except:
        unread_count = False
    return {
        'request': request,
        'unread_count': unread_count,
        'active_menu': active_menu
    }

MIDDLEWARE_CLASSES:

MIDDLEWARE_CLASSES = (
    'django.middleware.gzip.GZipMiddleware',
    # 'debug_toolbar.middleware.DebugToolbarMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.common.CommonMiddleware',
    'fandjango.middleware.FacebookMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'pipeline.middleware.MinifyHTMLMiddleware',
    'mobi.middleware.MobileDetectionMiddleware',
)

在终端的开发服务器上,我收到消息:

Not Found: /

但重定向到/en/ .. 在没有工作的部署服务器上

0 个答案:

没有答案