相关疑难解决方法(0)

'WSGIRequest'对象没有属性'session'

我有时会在process_response方法中的自定义中间件中收到此错误.我有以下中间件列表:

MIDDLEWARE_CLASSES = [
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.doc.XViewMiddleware',
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'application.middleware.LastCampaignSessionMiddleware'
Run Code Online (Sandbox Code Playgroud)

]

所以会话中间件放在我的中间件之前.我del request.session在源代码中没有任何表达式.这是process_response方法:

    def process_response(self, request, response):
        if 'last_campaign_id' in request.session and request.session['last_campaign_id']:
            if request.COOKIES['last_campaign_id'] != request.session['last_campaign_id']:
                response.set_cookie('last_campaign_id', request.session['last_campaign_id'])
        return response
Run Code Online (Sandbox Code Playgroud)

不知道为什么会发生这种情况.

编辑03-08-2012 12-30

它看起来像浏览器请求favicon:

[03/Aug/2012 10:26:42] "GET /favicon.ico/ HTTP/1.1" 404 6701
Run Code Online (Sandbox Code Playgroud)

django中没有默认行为来解析此URL吗?因为我没有明确指定应该处理此请求的视图.我不在页面源代码中使用favicon.所以我想这是浏览器请求/favicon.ico.我想如果404错误HttpRequest将无法正确构造,所以难怪我在请求对象中没有会话.但这只是我的假设.

此外,如果有必要我在使用django dev服务器时遇到此错误.

编辑13-00

我用favicon修复了这个问题,但仍然出错.为什么请求中可能不存在会话?

django django-middleware

14
推荐指数
2
解决办法
1万
查看次数

Django 2.0的问题:'WSGIRequest'对象没有属性'session'

我将我的Django版本升级1.11.5到了2.0,我正在尝试解决不同的弃用元素.

但是,即使我的CSS/bootstrap样式表不起作用,我也无法登录到我的Django软件.我有这个问题:

'WSGIRequest' object has no attribute 'session'
Run Code Online (Sandbox Code Playgroud)

这是整个Traceback:

Environment:


Request Method: POST
Request URL: http://127.0.0.1:8000/Authentification/Login/

Django Version: 2.0
Python Version: 3.6.2
Installed Applications:
['Institution',
 'django.conf.urls',
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'bootstrapform',
 'django_countries',
 'chartit',
 'Configurations',
 'Home',
 'Authentication',
 'Identity',
 'rest_framework',
 'Fiscal',
 'bootstrap4']
Installed Middleware:
[]



Traceback:

File "/Users/valentinjungbluth/Desktop/DatasystemsCORE3.6/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
  35.             response = get_response(request)

File "/Users/valentinjungbluth/Desktop/DatasystemsCORE3.6/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  128.                 response = self.process_exception_by_middleware(e, request)

File "/Users/valentinjungbluth/Desktop/DatasystemsCORE3.6/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  126.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/Users/valentinjungbluth/Desktop/DatasystemsCORE3.6/lib/python3.6/site-packages/django/views/decorators/csrf.py" in …
Run Code Online (Sandbox Code Playgroud)

django

14
推荐指数
2
解决办法
9519
查看次数

AttributeError:'WSGIRequest'对象没有属性'session'

我随机时间不断收到此错误,每当我触摸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',
)
Run Code Online (Sandbox Code Playgroud)

当我执行"if request.session"语句时,错误总是出现在facebook中间件中.谢谢

django session middleware django-middleware django-sessions

9
推荐指数
2
解决办法
7043
查看次数