Django cors 标头和服务器错误
Posted
技术标签:
【中文标题】Django cors 标头和服务器错误【英文标题】:Django cors headers and server error 【发布时间】:2015-09-25 11:31:59 【问题描述】:我正在尝试使用 django-cors-headers 将 COR 添加到我的服务器,但是当我加载页面时,我在服务器上收到此错误。
ImproperlyConfigured: Error importing module corsheaders.middleware.CorsMiddlewaredjango.middleware.common: "No module named CorsMiddlewaredjango.middleware.common"
我已经使用 pip 安装了 cors-header 应用程序:
pip install django-cors-headers
而我的 settings.py 文件就是这样配置的:
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'social.apps.django_app.default',
'corsheaders',
'dashboard',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'corsheaders.middleware.CorsMiddleware'
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
CORS_ORIGIN_ALLOW_ALL = True
我使用的是 python 2.7 版本。
【问题讨论】:
尊敬的 Google 员工,您可能发现这篇文章是因为另一个问题:大约 500 个错误发生在 CORS 中间件之前,因此它没有机会添加 CORS 标头。如果响应状态码是 500,这可能是问题所在,CORS 可能工作正常。 【参考方案1】:您在MIDDLEWARE_CLASSES
中的'corsheaders.middleware.CorsMiddleware'
之后缺少一个逗号。
添加一个。
您的问题是由 Python 连接字符串 'corsheaders.middleware.CorsMiddleware'
和 'django.middleware.common.CommonMiddleware'
并因此尝试从 corsheaders.middleware.CorsMiddlewaredjango.middleware.common'
导入 commonMiddleware
引起的。
【讨论】:
谢谢。这是一个我找不到的错字。再次感谢您的帮助。 @Thomas Orozco 你能帮我处理一下ImportError: Module "django.middleware.common" does not define a "CorsMiddleware" attribute/class以上是关于Django cors 标头和服务器错误的主要内容,如果未能解决你的问题,请参考以下文章
尽管标头正确,但 CORS Access-Control-Allow-Origin
更改商店的 URL 时,ExtJS 5 应用程序 + Django 休息框架 CORS 错误