Django 1.10 RequestContext处理器无法正常工作

时间:2016-08-17 12:37:24

标签: python django

更新到django 1.10后,处理器停止工作。

许多观点的此菜单上下文:

def menu_category(request):
    category_parent = Category.objects.filter(parent__isnull=True, is_active=True).order_by('mass')
    category_child = Category.objects.filter(parent__isnull=False, is_active=True).order_by('mass')
    return {'category_parent': category_parent, 'category_child': category_child}

django 1.9的这个视图(在django 1.10处理器= [menu_category]空上下文中):

def news_main(request):
    posts = Post.objects.filter(
        Q(date_completion__gt=timezone.now()) | Q(date_completion=None),
        date_published__lte=timezone.now(),
        is_active=True).order_by('-date_published')
    return render_to_response('news/news_main.html',
    {'posts': posts},
    RequestContext(request, processors=[menu_category]))

1 个答案:

答案 0 :(得分:6)

你永远不应该将RequestContext传递给render_to_response,而Django 1.10已经犯了错误。而是使用render快捷方式:

return render(request, 'news/news_main.html', {'posts': posts})

请注意,无论何时升级版本,都应始终确保阅读发行说明;在这种情况下,更改会在Features removed in 1.10下注明。