Django - 模板上下文处理器 - 造成我的应用崩溃
我在尝试设置一个模板上下文处理器,就像这篇文章提到的那样,这样我就可以给每个模板提供一些信息。
我在views.py里写了这个函数:
def items_in_cart(request):
"""Used by settings.TEMPLATE_CONTEXT_PROCESSORS to provide an item count
to every template"""
cart, lines = get_users_cart_and_lines(request)
return {'items_in_cart': lines.count()}
然后我在settings.py里加了这一行:
TEMPLATE_CONTEXT_PROCESSORS = ('Store.views.items_in_cart',)
但是现在每当我访问任何页面时,就会出现这个错误:
ImproperlyConfigured at /
Put 'django.contrib.auth.context_processors.auth' in your TEMPLATE_CONTEXT_PROCESSORS setting in order to use the admin application.
我是不是做错了什么?到底发生了什么事?我试着按照错误提示的内容去做,但这样会导致页面上所有的样式表和图片都不见了。
1 个回答
21
Django有一套默认的模板上下文处理器,如果你想添加自己的处理器,需要手动把它们加进去。你可以在这个链接找到相关信息:http://docs.djangoproject.com/en/1.3/ref/settings/#template-context-processors
根据你使用的Django版本,这些处理器可能会有所不同。不过,如果你使用的是Django 1.3,可能会看到如下内容:
TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
"django.contrib.messages.context_processors.messages",
"Store.views.items_in_cart",
)