Skip to main content
 首页 » 编程设计

python之Django 属性错误 : 'WSGIRequest' object has no attribute 'user'

2024年10月24日36lhb25

将 Django 1.4 升级到 1.5 后出现问题
当我在设置中时:
调试 = 假
所以代码:

def get_cart(request): 
    """ 
    Returns cart for user or None if cart does not exist, 
    means that user didn't add item to it. 
    """ 
    shop_cart = None 
    if request.user.is_authenticated(): 
        try: 
            shop_cart = ShoppingCart.objects.get(customer=request.user) 
        except ShoppingCart.DoesNotExist: 
            pass 
    else: 
        cart_id = request.session.get('cart_id', None) 
        try: 
            shop_cart = ShoppingCart.objects.get(pk=cart_id) 
        except ShoppingCart.DoesNotExist: 
            pass 
    return shop_cart 

报错:
AttributeError: 'WSGIRequest' object has no attribute 'user'
但是当我设置
调试 = 真
所以一切正常

您知道有人在生产模式下出现错误吗?

谢谢

MIDDLEWARE_CLASSES = ( 
    'django.middleware.common.CommonMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.middleware.http.ConditionalGetMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
) 
 
TEMPLATE_CONTEXT_PROCESSORS = ( 
    'django.contrib.auth.context_processors.auth', 
    'django.contrib.messages.context_processors.messages', 
    'django.core.context_processors.i18n', 
    'django.core.context_processors.request', 
    'django.core.context_processors.media', 
    'django.core.context_processors.static', 
    'django.core.context_processors.request', 
    'eshopwisepress.wp_core.context_processors.request_absolute_path', 
    'eshopwisepress.wp_core.context_processors.domain', 
) 

请您参考如下方法:

你需要改变你的中间件顺序

'django.contrib.auth.middleware.AuthenticationMiddleware' 
'django.contrib.sessions.middleware.SessionMiddleware',