AttributeError: object has no attribute 'sess'
时间: 2023-10-11 07:08:11 浏览: 221
AttributeError: 'xxx' object has no attribute 'session'这个错误通常是因为你在使用装饰器验证用户是否登录时,装饰器函数中使用了request参数,但是没有正确引入request对象或者没有正确设置request.session。要解决这个问题,你可以按照正确的使用方法进行修改。首先,确保你从正确的地方引入了request对象,例如从`django.http`中引入request。然后,确保你正确设置了request.session,例如在用户登录时设置了session。最后,确保你将正确的request对象传递给装饰器函数。
下面是一个正确使用装饰器的示例代码:
```
from django.utils.decorators import method_decorator
class Create_model(View):
@method_decorator(check_login)
def get(self, request):
pass
def post(self, request):
pass
```
装饰器函数的代码如下:
```
from functools import wraps
def check_login(func):
@wraps(func)
def wrapper(request, *args, **kwargs):
if request.session.get('is_login', False):
return func(request, *args, **kwargs)
else:
# 获取用户当前访问的url,并传递给/user/login/
next = request.get_full_path()
print("check_login", next)
red = HttpResponseRedirect('/xxx/login/?next=' + next)
return red
return wrapper
```
希望这些信息对你有帮助。如果你还有其他问题,请继续提问。
阅读全文
相关推荐



















