首页 > 其他分享 >Django设置跨域访问

Django设置跨域访问

时间:2022-08-14 20:00:07浏览次数:57  
标签:HTTP 跨域 middleware django 访问 设置 CORS contrib Django

Django设置跨域访问

(1) 安装DjangoCors Headers

pip install django-cors-headers

(2) settings.py 配置如下

INSTALLED_APPS = [
    # 'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    # 'django.contrib.messages',
    # 'django.contrib.staticfiles',
    # 添加应用index
    'index',
    # 添drf
    'rest_framework',
    # 添加DjangoCors Headers
    'corsheaders',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    # 跨域访问
    'corsheaders.middleware.CorsMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    # 'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

# 设置跨域设置

CORS_ALLOW_CREDENTIALS = True # 设置HTTP请求是否允许携带cookies信息,默认值为False
CORS_ORIGIN_ALLOW_ALL = True # 默认值为False,只允许CORS_ORIGIN_WHITELIST设置的域名列表发送HTTP请求,若为True,则允许所有域名发送HTTP请求。
CORS_ORIGIN_WHITELIST = () # 默认值为空列表,设置允许发送HTTP请求的域名,即部署前端项目的的服务器IP地址或域名

# 设置允许的HTTP请求方式,如GET,POST
CORS_ALLOW_METHODS = (
    'DELETE',
    'GET',
    'OPTIONS',
    'PATCH',
    'POST',
    'PUT',
    'VIEW',
)

# 设置非标准的HTTP请求头
CORS_ALLOW_HEADERS = (
    'XMLHttpRequest',
    'X_FILENAME',
    'accept-encoding',
    'authorization',
    'content-type',
    'dnt',
    'origin',
    'user-agent',
    'x-csrftoken',
    'x-requested-with',
)

标签:HTTP,跨域,middleware,django,访问,设置,CORS,contrib,Django
From: https://www.cnblogs.com/minqiliang/p/16586170.html

相关文章

  • Django-rest-framework开发api接口
    django-rest-framework开发api接口(1)创建django项目drfdemo1并且创建一个名为app的应用django-adminstartprojectdrfdemo1pythonmanage.pystartappapp(2)安......
  • django restframework 后端接口权限
    REST_FRAMEWORK={'EXCEPTION_HANDLER':'djangoProject.utils.exception.custom_exception_handler',#在不需要权限就能访问的视图设置permissions_classes......
  • Django orm的managed参数
    Djangoorm的managed参数如果一张表不是在django的models.py中创建表,而是该表由cmd或者Navicat或者其他方式创建的,或者该表是一个视图,那么也可以在models.py里写上该表的......
  • Django中读取数据的一些学习
    Django中读取数据的一些学习关于元组的读取​ 当我们在写数据库架构时,我们需要考虑数据库内存,而经常的操作是,比如对于gender,固定值一般为男、女,但是一直写男女中文字符过......
  • django中批量插入数据
    1.什么是批量插入在django中的orm给我们提供了一个bulk_create方法,批量创建插入数据!2.为什么要使用批量插入我们先来看不使用批量插入的情况:defbook(request):#......
  • elementui+django实现分页效果
    elementui+django实现分页效果前端:template:<el-paginationbackground @current-change='currentChange'layout="prev,pager,next":page-......
  • 如何使用 Prometheus 监测 Django
    目录IntroductionPrerequisitesStep0-设置基本的Django应用程序安装DjangoCreateatemplateproject验证Django是否正常工作Step1-从Django中导出Prometheus监视指......
  • https网页访问http资源失败无法显示
    问题:部署云服务后使用https://域名访问,页面无法显示外链的http图片。排查:img标签的src会经过浏览器,请求地址被转换成https://外链地址。起初......
  • 《Effective Java》第16条:要在仅有类中使用访问方法而非公有域
    《EffectiveJava》第16条:要在仅有类中使用访问方法而非公有域一、问题有时候我们需要定义一些类用来集中实例域(Java对象中的数据)。经常我们会把这些数据域声明为public......
  • Django实现个人信息展示与编辑页面(上)
    Django实现个人信息展示与编辑页面(上)5,4,3,2,1!我下班了蟹老板,开玩笑,做了登录注册界面,当然要有一个配套的页面展示,现在就利用所学,完成一下吧!html页面实现如下是暂时未接入数......