2011-05-23 16 views
15

Estaba tratando de configurar un procesador de contexto de plantilla como this article mentions para poder proporcionar información a cada plantilla.Django - procesadores de contexto de plantilla - rompiendo mi aplicación

escribí esta función en 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()} 

Y luego añade esta línea a settings.py:

TEMPLATE_CONTEXT_PROCESSORS = ('Store.views.items_in_cart',) 

Pero ahora cada vez que vaya a cualquier página me sale este error :

ImproperlyConfigured at/

Put 'django.contrib.auth.context_processors.auth' in your TEMPLATE_CONTEXT_PROCESSORS setting in order to use the admin application. 

¿Hice algo mal? ¿Que está pasando aqui? Intenté hacer lo que decía el error, y luego mostraré una página con todas mis hojas de estilo e imágenes faltantes.

Respuesta

21

Django tiene un conjunto predeterminado de TEMPLATE_CONTEXT_PROCESSORS, que debe agregar manualmente al agregar el suyo. http://docs.djangoproject.com/en/1.3/ref/settings/#template-context-processors

Dependiendo de la versión de Django éstos son diferentes, sin embargo, si el uso de Django 1.3 es posible que tenga algo de la siguiente manera

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

hmm, ¿puedo añadir la mía a la lista por defecto existente? Por ejemplo, TEMPLATE_CONTEXT_PROCESSORS = secret_default_location.TEMPLATE_CONTEXT_PROCESSORS + ('Store.views.items_in_cart',) – Greg

+0

Debería poder usar TEMPLATE_CONTEXT_PROCESSORS + = ('Store.views.items_in_cart',) para anexar los valores predeterminados – PiGGeH

+0

Dice que no está definido. – Greg

Cuestiones relacionadas