object()在django 1.10中没有参数

Seb*_*sen 7 django django-cors-headers

我正在尝试在我的应用程序中允许CORS,以便我的跨域javascript客户端可以访问我的API,我已经安装了django-cors-headers.我现在正在尝试添加中间件:

MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware', # Remove this and it works
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
Run Code Online (Sandbox Code Playgroud)

但是这给了我一个TypeError:

TypeError:object()不带参数

这在django 1.10更新之前运行良好.有任何想法吗?

Adr*_*ing 10

如果您有自定义中间件并且已从MIDDLEWARE_CLASSES转移到MIDDLEWARE,则需要更新中间件.详细信息:这个Django文档页面.TL; DR,来自MiddlewareMixin的子类而不是对象:

from django.utils.deprecation import MiddlewareMixin
class FOOMiddleware(MiddlewareMixin):
    pass
Run Code Online (Sandbox Code Playgroud)


Ala*_*air 3

此问题表示不再支持 django-cors-headers,并建议改用django-cors-middleware