DRF | 跨域问题解决(百分百好用)

259 阅读1分钟

话不多说,直接跟着一步一步走,保准没问题。

第一步

terminal 安装指令

pip install django-cors-headers

第二步

回到 settings.py, 在中间件的第三行,加入这句话

'corsheaders.middleware.CorsMiddleware', # 放在此位置, 默认中间件中第三的位置

image.png

第三步

settings.py 文件末尾 添加

############## 跨域问题解决  
  
CORS_ALLOW_METHODS = (  
'GET',  
'POST',  
'PUT',  
'PATCH',  
'DELETE',  
'OPTIONS'  
)  
  
# 允许跨域的请求头,可以使用默认值,默认的请求头为:  
# from corsheaders.defaults import default_headers  
# CORS_ALLOW_HEADERS = default_headers  
#自定义  
CORS_ALLOW_HEADERS = (  
'XMLHttpRequest',  
'X_FILENAME',  
'accept-encoding',  
'authorization',  
'content-type',  
'dnt',  
'origin',  
'user-agent',  
'x-csrftoken',  
'x-requested-with',  
'Pragma',  
)  
  
# 跨域请求时,是否运行携带cookie,默认为False  
CORS_ALLOW_CREDENTIALS = True  
# 允许所有主机执行跨站点请求,默认为False  
# 如果没设置该参数,则必须设置白名单,运行部分白名单的主机才能执行跨站点请求  
CORS_ORIGIN_ALLOW_ALL = True

如图:

image.png

好啦!问题解决了~