【问题标题】:AttributeError: 'WSGIRequest' object has no attribute 'session'AttributeError:“WSGIRequest”对象没有属性“会话”
【发布时间】:2011-03-15 21:57:55
【问题描述】:

我在随机时间不断收到此错误,并且每当我触摸 django.wsgi 文件时,它都会得到修复,直到几个小时后再次发生。我不知道该怎么做。我的 middleware_classes 如下:

MIDDLEWARE_CLASSES = (
    'django.middleware.cache.UpdateCacheMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.middleware.csrf.CsrfResponseMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.middleware.facebookConnectMiddleware.FacebookConnectMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.cache.FetchFromCacheMiddleware',
    'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
)

当我执行“if request.session”语句时,facebook 中间件中总是会出现错误。 谢谢

【问题讨论】:

  • 你解决了吗?以及如何?

标签: django session middleware django-middleware django-sessions


【解决方案1】:

确保 SessionMiddleware 在您的 MIDDLEWARE_CLASSES 中排在首位。

【讨论】:

  • 从 Django 2.0 开始 MIDDLEWARE_CLASSES 替换为 MIDDLEWARE - more here
【解决方案2】:

检查你的代码中是否写过:

删除请求.session

正确的是

del request.session['YOU VARIABLE']

【讨论】:

    【解决方案3】:

    尝试在末尾记录的备用 WSGI 脚本文件:

    http://blog.dscpl.com.au/2010/03/improved-wsgi-script-for-use-with.html

    如果有帮助,请向 mod_wsgi 列表报告,因为我们仍在尝试发现备用 WSGI 脚本正在解决的任何问题,因此可以确定是真正的问题还是用户没有正确使用 Django。

    【讨论】:

      【解决方案4】:

      您使用的是 Apache 吗?如果是这样,您可能应该在修改 mod_wsgi 文件后重新启动 httpd。

      sudo apachectl -k restart
      sudo apache2ctl -k restart
      sudo /etc/init.d/httpd restart
      

      ... 或类似的应该可以工作。如果问题仍然存在,请尝试粘贴完整的错误消息。

      【讨论】:

      • 是否需要完全重启 Apache 取决于您使用 mod_wsgi 的方式。如果使用守护程序模式,有一些方法可以在不重新启动整个 Apache 的情况下重新启动应用程序代码。请参阅“code.google.com/p/modwsgi/wiki/ReloadingSourceCode”。
      • 确实如此。我在这里稍微诊断一下症状:通常,当我看到问题再次出现时,这是因为它已在一个 Apache 线程中修复,但并非在所有线程中都已修复......因此重新启动的想法。值得一试:-)
      • 我重新启动了 apache,这似乎可以解决问题。谢谢你们的意见:-)
      • nope.. 问题又出现了。输入没有结尾斜杠的 url 会出现错误,并且只有在我触摸 django.wsgi..what to do.. 时才会暂时修复
      • 您的 wsgi 文件是什么样的?还有你的 urls.py?
      猜你喜欢
      • 2022-01-21
      • 2018-09-06
      • 1970-01-01
      • 2021-07-04
      • 2021-12-13
      • 1970-01-01
      • 2019-05-11
      • 2017-01-11
      • 2023-03-26
      相关资源
      最近更新 更多