您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python:Django TypeError:object()不带参数

5b51 2022/1/14 8:22:01 python 字数 6894 阅读 556 来源 www.jb51.cc/python

我正在将一个django应用程序从1.x移植到2.1,并且遇到了错误,即“TypeError:object()不带参数”.我试图解决这个问题很长一段时间,但即使经过数天的调试和在线搜索,也没有得到任何线索已安装的应用:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth

概述

我正在将一个django应用程序从1.x移植到2.1,并且遇到了错误,即“TypeError:object()不带参数”.我试图解决这个问题很长一段时间,但即使经过数天的调试和在线搜索,也没有得到任何线索

已安装的应用:

INSTALLED_APPS = [
    'django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','django.contrib.sites','allauth','allauth.account','allauth.socialaccount','allauth.socialaccount.providers.github','timezone_field','axes','humans','Boxes','pages',]

中间件设置:

MIDDLEWARE = [
    'whitenoise.middleware.WhiteNoiseMiddleware','django.contrib.sessions.middleware.SessionMiddleware','django.middleware.locale.LocaleMiddleware','django.middleware.common.CommonMiddleware','django.middleware.csrf.CsrfViewMiddleware','django.contrib.auth.middleware.AuthenticationMiddleware','django.contrib.messages.middleware.MessageMiddleware','django.middleware.clickjacking.XFrameOptionsMiddleware','django.middleware.security.SecurityMiddleware',]

压痕没有问题,

celery version : 4.2.1
raven version : 6.9.0
django version : 2.1

这是我的wsgi.py

import os
from raven.contrib.django.raven_compat.middleware.wsgi import Sentry

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE","settings")
application=Sentry(get_wsgi_application())

以下是错误日志的摘录

File "/usr/lib/python3.5/importlib/__init__.py",line 126,in import_module
        return _bootstrap._gcd_import(name[level:],package,level)   
File "
  
   python3.5/dist-packages/django/core/wsgi.py",line 13,in get_wsgi_application
        return WSGIHandler()   
File "/usr/local/lib/
   python3.5/dist-packages/django/core/handlers/wsgi.py",line 136,in 
   __init__
        self.load_middleware()   
File "/usr/local/lib/
   python3.5/dist-packages/django/core/handlers/base.py",line 36,in load_middleware
        mw_instance = middleware(handler)
TypeError: object() takes no parameters

  

使用CustomSentry后出错:

in 
  
   python3.5/dist-packages/django/core/wsgi.py",in get_wsgi_application
    return WSGIHandler()
  File "/usr/local/lib/
   python3.5/dist-packages/django/core/handlers/wsgi.py",in 
   __init__
    self.load_middleware()
  File "/usr/local/lib/
   python3.5/dist-packages/django/core/handlers/base.py",in load_middleware
    mw_instance = middleware(handler)
TypeError: object() takes no parameters

  

我试图使用ExceptionMiddleware捕获异常,现在我收到以下错误

application = CustomSentry(get_wsgi_application())
File "/usr/local/lib/python3.5/dist-packages/django/utils/deprecation.py",line 85,in __init__
    super().__init__()
TypeError: __init__() missing 1 required positional argument: 'application'

任何帮助,将不胜感激.

现在,根据您的设置,唯一的非Django中间件是whitenoise,但是您说即使在评论之后该错误仍然存??在.

这里有一些建议可以帮助你弄清楚发生了什么:

>正如我所评论的,向Django源添加断点或print语句以找出导致问题的中间件.
>确保您正在编辑的设置文件是实际使用的设置文件.
>使用Python shell检查MIDDLEWARE设置的实际值:

$python manage.py shell
>>> from django.conf import settings
>>> settings.MIDDLEWARE
...

总结

以上是编程之家为你收集整理的Python:Django TypeError:object()不带参数全部内容,希望文章能够帮你解决Python:Django TypeError:object()不带参数所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶