在django-admin页面中禁用django上下文处理器

时间:2014-06-20 09:28:27

标签: django django-templates

如何为自定义模板上下文处理器排除Django django-admin页面?

2 个答案:

答案 0 :(得分:4)

您必须检测该请求是否适用于管理页面,并在您的上下文处理器中跳过您想要的内容。

def my_context_processor(request,*args,**kwargs):
    if 'admin' in request.META['PATH_INFO']:
        return {}
    else:
        # do something here

答案 1 :(得分:3)

跟进Dhiraj’s answer,如果您的系统使用默认(英语/非翻译)网址,并且为了那些使用本地化网址的用户,我找到了以下代码段来执行以最简单的方式处理技巧(与Django 1.10及更高版本相关,未在早期版本上测试)。

from django.urls import reverse
if request.path.startswith(reverse('admin:index')):
    return {}
else:
    # do stuff relevant to non-admin pages