Django-模板上下文处理器-破坏我的应用程序

2024-04-25 05:24:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图设置一个模板上下文处理器,比如this article mentions,这样我就可以向每个模板提供信息。

我在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.

我做错什么了吗?怎么回事?我试着按照错误所说的做,然后它将呈现一个页面,我的所有样式表和图像都将丢失。


Tags: toinpy模板settingsrequestcount错误
1条回答
网友
1楼 · 发布于 2024-04-25 05:24:02

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",
)

相关问题 更多 >