当前位置: 首页 > 面试题库 >

Django:WSGIRequest'对象在某些页面上没有属性'user'?

段哲圣
2023-03-14
问题内容

如果用户未登录,我想设置一个cookie。

My中间件:

class UserStatus(object):
    def process_response(self,request,response):
        user_status = 1 if request.user.is_authenticated() else 0
        max_age = (20)*52*7*24*60*60 # 20 years (After expiry, cookie gets deleted)
        response.set_cookie(user_status_cookie,user_status,max_age)
        return response

最后添加到MIDDLEWARE_CLASSESsettings.py中。

问题:

  • 错误:“ WSGIRequest”对象没有属性“ user”
  • 为什么,当我已经激活身份验证和会话中间件时?
  • 另外,有些页面在出现此错误的地方工作流畅。
  • 我究竟做错了什么 ?

问题答案:

根据FineManual:

在响应阶段(process_response()和process_exception()中间件)中,从下到上以相反的顺序应用这些类。

因此,我想你最好在auth和会话中间件之前添加你的中间件(假设它仅处理响应)。

话虽这么说,我对你仅在某些页面上有错误这一事实感到有些困惑?



 类似资料:
  • 这是我的密码: 这条线给了我错误 "属性错误:'浮点'对象没有属性'exp'"。X,t是Numpy ndarray。

  • 我正在尝试在ansible playbook中运行任务,如下所示。 我正在使用macOS,并且已经安装了可扫描和单刀道。我能够通过远程Linux计算机上的ansible运行不同的任务,但是当运行此组任务时,我收到错误,因为。 请指导我可能是什么问题? 编辑:追溯问题 编辑: 我被要求检查<code>ansible。cfg文件。但我无法在mac上找到这个文件。 下面是我使用命令时的日志 2.7.6

  • 我有一个目标。我想通过删除除某些特定属性之外的所有属性来修改对象(而不是克隆它)。例如,如果我从这个对象开始: 并且只需要属性p1、p2和p100,如何获得此对象: 我明白如何用蛮力做到这一点,但我想要一个更优雅的解决方案。

  • 问题内容: 我正在开发Django应用程序,并且出现以下错误 我的模型是这样构造的 我应该做什么? 问题答案: 首先,您必须非常小心地重写以具有非可选参数。记住,每次从一个查询集中获取一个对象时,它将被调用! 这是您想要的正确代码: 如果您只使用该对象的子类,我强烈建议在Animal上设置abstract选项。这样可以确保不为动物创建表,而仅为绵羊(等)创建表。如果未设置abstract,则将创建

  • 我创建了这个简单的GUI: 我让用户界面启动并运行。当我点击按钮时,我在控制台上得到以下错误: 为什么设置为?

  • 当我试图刮下面的url时,selenium在大约30秒内没有响应,然后在带有美丽汤的行上发出错误,因为没有html代码要解析。我的selenium+chrome设置对大多数网站都很好,但这个不是:http://www.11st.co.kr/product/sellerproductdetail.tmall?method=getsellerproductdetail&prdno=2609814501