设置域名跨越访问

  1. 跨域:指浏览器不能执行其他网站的脚本,这是由于浏览器的同源策略造成的。同源策略是浏览器为了用户安全而实施的一种安全限制。当从一个域名的网页去请求另一个域名的资源时,如果域名、端口、协议任意一个不同,就属于跨域。
  2. CORS(跨域资源共享):是一个W3C标准,全称是Cross-Origin Resource Sharing。它克服了AJAX只能同源使用的限制,通过在后端服务器响应数据中设置响应头信息,允许浏览器执行跨域请求。

安装django-cors-headers

bash 复制代码
pip3 install django-cors-headers

修改settings.py

python 复制代码
#在自己开发的时候可以设置所有ip可以访问

ALLOWED_HOSTS = ['*',] 	# 允许所有的IP可以访问

INSTALLED_APPS = [
    ......
    'corsheaders',
    ......
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    "corsheaders.middleware.CorsMiddleware", #这个中间件一定要在一些访问respone的中间件的前面,#以便能够正常加载
    'django.middleware.common.CommonMiddleware',
    #关闭csrf保护
    #'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

在自己开发的时候可以设置允许所有域名都可以跨越访问

python 复制代码
#允许所有的域名跨越访问
CORS_ALLOW_ALL_ORIGINS = True

这样django的跨越访问就设置完成了

详细见官方文档django-cors-headers · PyPI

相关推荐
devpotato3 小时前
缓存与数据库更新顺序不一致问题
java·数据库·redis
天若有情6733 小时前
Node+MySQL小型全栈笔记项目实战课程分享
数据库·笔记·mysql
wxwx_bscxy3223 小时前
基于springboot宠物领养系统的设计与实现
数据库·spring boot·后端·spring·宠物
九月要晚安4 小时前
达梦DW与AFC对比
数据库
实战派K8S&DB4 小时前
如何在内网配置 TiDB 数据库 Agent
数据库·人工智能·分布式·tidb
实战派K8S&DB4 小时前
《基于 Dify + FastAPI + PyTiDB 搭建大模型驱动的 TiDB 智能运维 Agent》
运维·数据库·分布式·云原生·tidb·fastapi
SelectDB4 小时前
Apache Doris 5.0 年度版本前瞻(一):构建统一的多模湖仓实时分析平台
大数据·数据库·数据分析
小白学大数据5 小时前
超简单:用 Python 让 Excel 飞起来:用 openpyxl 把重复报表整理交给脚本
开发语言·数据库·python·excel
西索斯coding5 小时前
doubao-seed-2.1-turbo 调用一直 401 怎么办?pro 版同样的 Key 却正常——5 分钟排查定位指南
java·服务器·数据库·ai
袋鼠云数栈5 小时前
整库迁移与分库分表同步:批量数据搬迁的配置简化思路
jvm·数据库·oracle