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

前端之家收集整理的这篇文章主要介绍了Python:Django TypeError:object()不带参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在将一个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 "

使用CustomSentry后出错:

in 

我试图使用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
...
原文链接:https://www.f2er.com/python/438551.html

猜你在找的Python相关文章