#python #django
Вопрос:
Я пытаюсь использовать заголовки django-cors для добавления CORs на свой сервер, но при загрузке страницы я получаю эту ошибку на сервере.
ImproperlyConfigured: Error importing module corsheaders.middleware.CorsMiddlewaredjango.middleware.common: "No module named CorsMiddlewaredjango.middleware.common"
Я установил приложение cors-заголовка с помощью pip:
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.
Комментарии:
1. Уважаемый Гуглер, возможно, вы нашли это сообщение из-за другой проблемы: около 500 ошибок происходят раньше, чем промежуточное программное обеспечение CORS, поэтому у него нет возможности добавить заголовки CORS. Если код состояния ответа был 500, это может быть проблемой, и CORS может работать нормально.
Ответ №1:
Вы пропускаете запятую после 'corsheaders.middleware.CorsMiddleware'
в своем MIDDLEWARE_CLASSES
.
Добавьте один.
Ваша проблема вызвана тем фактом, что Python объединяет строки 'corsheaders.middleware.CorsMiddleware'
и 'django.middleware.common.CommonMiddleware'
, следовательно, пытается импортировать commonMiddleware
из corsheaders.middleware.CorsMiddlewaredjango.middleware.common'
.
Комментарии:
1. Спасибо. Это была опечатка, которую я не смог найти. Еще раз спасибо вам за вашу помощь.
2. @Thomas Orozco Можете ли вы помочь мне с ImportError: Модуль «django.middleware.common» не определяет атрибут/класс «CorsMiddleware»