在使用axios进行跨域请求的时候默认会被阻止,需要进行一些配置

django-cors-headers 的安装

官方地址:https://pypi.org/project/django-cors-headers/

安装:

pip install django-cors-headers

将包载入项目:

INSTALLED_APPS = [

...

'corsheaders',

...

]

添加中间件:

MIDDLEWARE = [

...

'corsheaders.middleware.CorsMiddleware',

'django.middleware.common.CommonMiddleware',

...

]

(需要放置到 common 通用之上)

开始配置 CorsHeaders

# 跨域增加忽略
CORS_ALLOW_CREDENTIALS = True
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = (
 'http://127.0.0.1:8080',
 'http://localhost:8080',
)

# 这里添加你允许的请求方法
CORS_ALLOW_METHODS = ('DELETE', 'GET', 'OPTIONS',
                      'PATCH', 'POST', 'PUT', 'VIEW', )
# 这里添加你允许的请求头
CORS_ALLOW_HEADERS = ('XMLHttpRequest', 'X_FILENAME', 'accept-encoding', 'authorization',
                      'content-type', 'dnt', 'origin', 'user-agent', 'x-csrftoken', 'x-requested-with', 'Pragma', )

设置完成后,再次发送 Ajax 请求试试吧!

edge浏览器的坑

这里有个坑,用edge浏览器测试的时候死活不行,换了firefox发现可以了。

image.png

image.png

百度之后发现edge浏览器需要安装一个插件才行。

image.png

安装后需要启用一下

image.png

最后修改:2021 年 04 月 28 日
如果觉得我的文章对你有用,请随意赞赏