2011-05-23 18 views
15

Her şablona bilgi verebilmem için this article mentions gibi bir şablon içerik işlemcisi kurmaya çalışıyordum. Django - şablon içerik işlemcileri - uygulamamı kırıyor

ben views.py bu işlevi yazdı:

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()} 

Ve sonra settings.py için bu satırı eklendi:

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

Ama şimdi herhangi bir sayfaya gitmek ne zaman bu hatayı alıyorum : Bir hata yaptım mı? Burada neler oluyor? Hatanın ne söylediğini yapmaya çalıştım ve sonra tüm stil sayfalarım ve resimlerim eksik olan bir sayfa oluşturacak.

cevap

21

Django, kendi eklerken el ile eklemeniz gereken varsayılan bir TEMPLATE_CONTEXT_PROCESSORS kümesine sahiptir. http://docs.djangoproject.com/en/1.3/ref/settings/#template-context-processors

ancak hmm

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

aşağıdaki gibi sadece mevcut varsayılan listeye mayın ekleyebilir, bir şey olabilir Django 1.3 kullanıyorsanız, sizin Django sürümü bunlar birbirinden farklıdır bağlı? Örn., TEMPLATE_CONTEXT_PROCESSORS = secret_default_location.TEMPLATE_CONTEXT_PROCESSORS + ('Store.views.items_in_cart',) – Greg

+0

TEMPLATE_CONTEXT_PROCESSORS + = ('Store.views.items_in_cart',) varsayılanlarını kullanabilmek için – PiGGeH

+0

varsayılanlarını ekleyin. – Greg