CORS跨域djangosetting.py 配置

1 什麼是 CORS?

Cross-Origin Resource Sharing(CORS)跨域資源共享是一份瀏覽器技術的規範,提供了 Web 服務從不一樣域傳來沙盒腳本的方法,以避開瀏覽器的同源策略,是 JSONP 模式的現代版。與 JSONP 不一樣,CORS 除了 GET 要求方法之外也支持其餘的 HTTP 要求。用 CORS 能夠讓網頁設計師用通常的 XMLHttpRequest,這種方式的錯誤處理比 JSONP 要來的好。另外一方面,JSONP 能夠在不支持 CORS 的老舊瀏覽器上運做。現代的瀏覽器都支持 CORS。django

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',
)
相關文章
相關標籤/搜索