我正在学习Antonio's Melle Book上的Django课程,并且需要一个context_processor才能在整个Web应用程序中使用购物车实例。我经常收到错误消息,即上下文处理器未定义“购物车”对象属性。 注意:如果需要的话,我正在使用缓存的会话
我尝试将购物车放入try catch语句中,我已经阅读了文档,但没有为我整理一下内容
context_processors.py
from .cart import Cart
def cart(request):
return {'cart': Cart(request)}
settings.py
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
(...)
'cart.context_processors.cart,']}
cart.py Cart(object)类:
def __init__(self, request):
self.session = request.session
cart = self.session.get(settings.CART_SESSION_ID)
if not cart:
cart = self.session[settings.CART_SESSION_ID] = {}
self.cart = cart
答案 0 :(得分:0)
您尚未显示实际的错误消息。但是问题可能是因为您已将逗号放在引号内,而不是放在引号外。更改为:
'cart.context_processors.cart',]}