如何仅为django中经过身份验证的用户应用模板上下文处理器?

时间:2016-03-09 07:57:54

标签: django django-templates

我有一个上下文流程,可以为用户计算通知并包含代价高昂的查询:

form

def notifications(request): if not request.user.is_authenticated(): c = {} c['num_alerts']= 0 return c else: alerts = [] uid = request.user.id #Calculate number of notifications for a user 我有:

settings.py

大多数请求来自未经身份验证的用户。所以我想知道如何将它们排除在TEMPLATE_CONTEXT_PROCESSORS = ("django.contrib.auth.context_processors.auth", "django.template.context_processors.debug", "django.template.context_processors.i18n", "django.template.context_processors.media", "django.template.context_processors.static", "django.template.context_processors.tz", "django.contrib.messages.context_processors.messages", 'postman.context_processors.inbox', 'myproj.context_processors.notifications', #<This is the context processor ) 之外?

在这种情况下,使用模板context_processor可能不是最好的主意吗?如果是这样,有什么更好的选择?

0 个答案:

没有答案