首页 > 解决方案 > Context_processor 未定义“”类/属性(错误)

问题描述

我正在学习 Antonio 的 Melle Book 中的 Django 课程,我需要一个 context_processor 来通过 webapp 使用购物车实例。我经常收到错误消息,即上下文处理器没有定义“购物车”对象属性。注意:如果重要的话,我正在使用缓存会话

我尝试将购物车放在 try catch 语句中,我已经阅读了文档,我没有为我整理东西

context_processors.py

   from .cart import Cart
   def cart(request):
       return {'cart': Cart(request)}

设置.py

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
             (...)
            'cart.context_processors.cart,']}

cart.py 类购物车(对象):

    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

标签: pythondjango

解决方案


您没有显示实际的错误消息。但问题可能是因为你把逗号放在引号里面而不是外面。将其更改为:

'cart.context_processors.cart',]}

推荐阅读