zoukankan      html  css  js  c++  java
  • CORS跨域djangosetting.py 配置

    1 什么是 CORS?

    Cross-Origin Resource Sharing(CORS)跨域资源共享是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略,是 JSONP 模式的现代版。与 JSONP 不同,CORS 除了 GET 要求方法以外也支持其他的 HTTP 要求。用 CORS 可以让网页设计师用一般的 XMLHttpRequest,这种方式的错误处理比 JSONP 要来的好。另一方面,JSONP 可以在不支持 CORS 的老旧浏览器上运作。现代的浏览器都支持 CORS。

    2 什么是跨域

    如果在A网站中,我们希望使用Ajax来获得B网站中的特定内容
    如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题.

    由于浏览器同源策略,凡是发送请求url的协议、域名、端口三者之间任意一与当前页面地址不同即为跨域。具体可以查看下表(来源)

    在这里插入图片描述

    settings.py配置

    • 要先下载的包 pip install django-cors-headers
    INSTALLED_APPS = [
    
        'corsheaders',  #	添加一个
    ] 
    
    MIDDLEWARE = [
        'corsheaders.middleware.CorsMiddleware',  #添加这行
        'django.middleware.common.CommonMiddleware',
    ]
    
    
    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 = (
        'XMLHttpRequest',
        'X_FILENAME',
        'accept-encoding',
        'authorization',
        'content-type',
        'dnt',
        'origin',
        'user-agent',
        'x-csrftoken',
        'x-requested-with',
        'Pragma',
    )
  • 相关阅读:
    MVC模式和三层架构的区别
    浅谈MVC3自定义分页
    Jquery进度条插件 Progress Bar
    浅谈 MVC3 WebMail 发送邮件
    LINQ orderby 排序妙用
    mvc3 razor视图下 显示字符串形式的html
    Asp.Net MVC3 让你疯狂的5个理由
    4月8日作业 代码审核复查
    几个js处理时间函数
    看看下面JavaScript代码输出什么?
  • 原文地址:https://www.cnblogs.com/zxs117/p/11120455.html
Copyright © 2011-2022 走看看