жуть какая-то происходит, помогите пожалуйста разобраться
на localhost:4200 работает проект на angular5, на http://127.0.0.1:8000/ работает проект на django 1.8
из angular делаю post-запрос так:
const params = {
'user_id': userId,
'title': title
};
return this.http.post('http://127.0.0.1:8000/app_todo2/create_todo', params)
в ответ сервер, на котором работает django, выводит такое:
[30/Nov/2017 15:07:55]"OPTIONS /app_todo2/create_todo HTTP/1.1" 200 0
[30/Nov/2017 15:07:55]"POST /app_todo2/create_todo HTTP/1.1" 403 2629
при этом в django установлен и включен CORS модуль. вот вырезка из конфига:
...
ALLOWED_HOSTS = [
'127.0.0.1:8000',
'http://localhost:4200/list',
'http://localhost:4200',
'localhost:4200',
'localhost'
]
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = (
'http://localhost:4200/list',
'http://localhost:4200',
'localhost:4200',
'localhost',
'127.0.0.1:8000'
)
CORS_ALLOW_METHODS = (
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT'
)
CORS_ALLOW_HEADERS = (
'accept',
'accept-encoding',
'authorization',
'content-type',
'dnt',
'origin',
'user-agent',
'x-csrftoken',
'x-requested-with',
)
# Application definition
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app_todo2',
'corsheaders',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
)
...
после отправки запроса через отладчик браузера видно, что предварительный OPTIONS-запрос отработал и вернул код 200. то есть кроссдоменный запрос разрешён: https://i.yapx.ru/gdaV.png
но далее основной запрос возвращает код ошибки 403: https://i.yapx.ru/gdYR.png
при этом на сервере эта страничка существует точно. потому что когда я пытался её получить с отключенным модулем CORS, то она не возвращалась, но в консоли сервера был вывод операторов print, которые я прописал в представлении(view) джанги.
однако