本文共 1032 字,大约阅读时间需要 3 分钟。
Cross-Origin Resource Sharing(CORS)跨域资源共享是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略,是 JSONP 模式的现代版。与 JSONP 不同,CORS 除了 GET 要求方法以外也支持其他的 HTTP 要求。用 CORS 可以让网页设计师用一般的 XMLHttpRequest,这种方式的错误处理比 JSONP 要来的好。另一方面,JSONP 可以在不支持 CORS 的老旧浏览器上运作。现代的浏览器都支持 CORS。
引入 django-cors-middleware
pip install django-cors-middleware
在 settings.py中添加,注意:不添加的话无法生效INSTALLED_APPS = (
...'corsheaders',)添加 中间件 监听MIDDLEWARE = [
...'corsheaders.middleware.CorsMiddleware','django.middleware.common.CommonMiddleware',...]配置允许跨域访问的域名CORS_ORIGIN_ALLOW_ALL = False
CORS_ORIGIN_WHITELIST = ('google.com','hostname.example.com')默认值是全部:CORS_ORIGIN_WHITELIST = ()
或者定义允许的匹配路径正则表达式.CORS_ORIGIN_REGEX_WHITELIST = ('^(https?://)?(\w+.)?>google.com$', )
默认值:CORS_ORIGIN_REGEX_WHITELIST = ()
设置允许访问的方法:CORS_ALLOW_METHODS = (
'GET','POST','PUT','PATCH','DELETE','OPTIONS')设置允许的header:默认值:
CORS_ALLOW_HEADERS = (
'x-requested-with','content-type','accept','origin','authorization','x-csrftoken')转载于:https://blog.51cto.com/aaronsa/2071108