Django设置允许跨域请求

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django设置允许跨域请求相关的知识,希望对你有一定的参考价值。

1. 安装模块django-cors-headers
pip3 install django-cors-headers

2. 配置django项目的settings.py文件

配置INSTALLED_APPS

INSTALLED_APPS = [
    ...,
    ‘corsheaders‘
]

配置中间件, 注意顺序

MIDDLEWARE = [
    ...,
    ‘corsheaders.middleware.CorsMiddleware‘,
    ‘django.middleware.common.CommonMiddleware‘
]

再settings.py文件末尾添加下面内容

‘‘‘
跨域设置
‘‘‘
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = ()

CORS_ALLOW_METHODS = (
    ‘DELETE‘,
    ‘GET‘,
    ‘OPTIONS‘,
    ‘PATCH‘,
    ‘POST‘,
    ‘PUT‘,
    ‘VIEW‘,
)

CORS_ALLOW_HEADERS = (
    ‘accept‘,
    ‘accept-encoding‘,
    ‘authorization‘,
    ‘content-type‘,
    ‘dnt‘,
    ‘origin‘,
    ‘user-agent‘,
    ‘x-csrftoken‘,
    ‘x-requested-with‘,
)

以上是关于Django设置允许跨域请求的主要内容,如果未能解决你的问题,请参考以下文章

前后端分离,解决跨域问题及django的csrf跨站请求保护

django中配置允许跨域请求

前端设置请求头可以解决跨域问题吗

django 实现全局支持跨域请求

Django 跨域请求处理

Django框架(二十九)—— 跨域问题