15

すべてのテンプレートに情報を提供できるように、この記事で説明したようなテンプレートコンテキストプロセッサをセットアップしようとしていました。

私はこの関数を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.

私は何か間違ったことをしましたか?何が起きてる?エラーの内容を試してみたところ、すべてのスタイルシートと画像が欠落しているページがレンダリングされます。

4

1 に答える 1

21

DjangoにはデフォルトのTEMPLATE_CONTEXT_PROCESSORSのセットがあり、独自のセットを追加するときに手動で追加する必要があります。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",
)
于 2011-05-23T15:31:16.337 に答える