在做商城项目的购物车模块时,发现了一个问题。
需求:当用户登录时,添加商品到购物车的数据保存在redis。当用户未登录时,添加商品到购物车的数据保存在cookies。两个功能都写在一个视图里面。以JWT认证的方式确认用户是否登录。
问题:进行测试时,发现用户未登录时,请求无法到达视图。返回状态码为401。无法进入视图,所以不能把把数据保存到cookies。
解决方案:
服务器视图重写认证方法,捕获异常
def perform_authentication(self, request): try: super().perform_authentication(request) except Exception: pass