Django-cors-headers解决跨域问题

Posted duzhaoqi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django-cors-headers解决跨域问题相关的知识,希望对你有一定的参考价值。

Django-cors-headers

解决 django 开发中遇到的跨域访问资源问题

github地址: https://github.com/adamchainz/django-cors-headers

首先安装Django-cors-headers 扩展类

# 安装 django-cors-headers 解决跨域问题:
pip install django-cors-headers

添加应用

INSTALLED_APPS = (
    ...
    # 添加 django-cors-headers 使其可以进行 cors 跨域
    ‘corsheaders‘,
    ...
)

中间层设置

MIDDLEWARE = [
    ...
    # 添加 django-cors-headers 使其可以进行 cors 跨域
    ‘corsheaders.middleware.CorsMiddleware‘,
]

添加白名单

在settings.py文件中添加:

# CORS跨域请求白名单设置
CORS_ORIGIN_WHITELIST = (
    ‘http://127.0.0.1:8080‘,
    ‘http://localhost:8080‘,
    ‘http://www.linubugs.site:8080‘,
)
CORS_ALLOW_CREDENTIALS = True  # 允许携带cookie
  • 凡是出现在白名单中的域名,都可以访问后端接口
  • CORS_ALLOW_CREDENTIALS 指明在跨域访问中后端是否支持cookie的操作.

给 settings.py 中的 ALLOWED_HOSTS 添加数据:

ALLOWED_HOSTS = [‘api.linuxbugs.site‘, 
                 ‘127.0.0.1‘, 
                 ‘localhost‘, 
                 ‘www.linuxbugs.site‘]

以上是关于Django-cors-headers解决跨域问题的主要内容,如果未能解决你的问题,请参考以下文章

Django中实现跨域

跨域设置django-cors-headers

django---django-cors-headers跨域源码分析

解决跨域问题

Django解决跨域

跨域问题解决