首页 > 其他分享 >vue+django跨域问题

vue+django跨域问题

时间:2023-08-09 21:44:06浏览次数:62  
标签:vue 跨域 middleware django ALLOW CORS contrib

解决办法:


MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
'yshop.middleware.AuthorizeMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

# CSRF_COOKIE_HTTPONLY = True

CORS_ALLOWED_ORIGINS = [
'http://127.0.0.1:8080', # 允许跨域请求的源
]

CORS_ORIGIN_WHITELIST = [
'http://127.0.0.1:8080',
]

CORS_ALLOW_METHODS = [
'DELETE',
'GET',
'OPTIONS',
'PATCH',
'POST',
'PUT',
'VIEW',
]

CORS_ALLOW_HEADERS = [
'username', # 允许的请求头
'Authorization',
'*',
'dnt',
'source',
'origin',
'Pragma',
'accept',
'user-agent',
'x-csrftoken',
'X_FILENAME',
'content-type',
'authorization',
'authentication',
'XMLHttpRequest',
'accept-encoding',
"x-requested-with",
]

REST_FRAMEWORK = {

'DEFAULT_AUTHENTICATION_CLASSES': (

'rest_framework.authentication.TokenAuthentication',

)

}
# 支持跨域配置开始
CORS_ORIGIN_ALLOW_ALL = True
CORS_ALLOW_CREDENTIALS = True




最重要的一点:
中间件的顺序:
'corsheaders.middleware.CorsMiddleware', 必须放第一个!!!


标签:vue,跨域,middleware,django,ALLOW,CORS,contrib
From: https://www.cnblogs.com/lytcreate/p/17618067.html

相关文章

  • Python基础day63 Django分页和cookie、session
    推导分页的原理分页:当我们要展示的数据特别多的时候,一页展示不完,这个时候我们需要把要展示的数据分成多页展示分页中需要的几个参数:1.总数据有多少条2.每页展示多少条数据(自己规定的20)3.一共展示多少页4.总页数=总数据量/每页展示多少条数据5.当前第几页(前端传过去......
  • Django REST framework
    简介在Django框架基础之上,进行二次开发用于构建RestfulAPI简称为DRF框架或RESTframework 特性提供了强大的Serialize序列化器,可以高效进行序列化与反序列化操作提供了极为丰富的类视图、Mixin扩张类、ViewSet视图集提供了直观的We......
  • 在Vue中可以使用方括号法获得想要的对象数据吗?
    1.问题Document{{message}}{{school.name}}{{school[mobile]}}在这里{{school.name}}{{school[mobile]}}不可以使用方括号法获得想要的对象数据吗?2.解决在Vue.js中,使用双花括号({{}})来插值数据是正确的,但是方括号法([])用于动态属性访问的方式是不适......
  • django的queryset和objects对象
    1.queryset是查询集,就是传到服务器上的url里面的内容。Django会对查询返回的结果集QerySet进行缓存,这里是为了提高查询效率。  也就是说,在你创建一个QuerySet对象的时候,Django并不会立即向数据库发出查询命令,只有在你需要用到这个QuerySet的时候才回去数据库查询。2.Objects......
  • avue-crud属性配置项参数笔记分享
     Avue是一个基于Element-plus低代码前端框架,它使用JSON配置来生成页面,可以减少页面开发工作量,极大提升效率;虽然Avue官网上面都有这些配置说明,但是如果刚开始接触不熟悉框架的话需要很久才找到自己需要的参数配置,为了方便自己今后查找使用,现将一些开发中常用的配置梳理在下......
  • vue启用https服务及nginx启用https配置
    1.vue开发环境中主要是configjs配置启用https服务devServer:{https:true,//启用https} 2.nginx 申请一个ssl证书,自行申请。 下面是一个nginx例子 需要修改的配置https主要是红色标出来部分。蓝色加粗部分主要是history模式下刷新出现404的解决办法ser......
  • SpringMVC支持跨域访问详解
    跨站HTTP请求(Cross-siteHTTPrequest)是指发起请求的资源所在域不同于该请求所指向资源所在的域的HTTP请求。这里有域名的不同,端口号的不同。很多浏览器在发起跨域访问时是会询问用户是否需要发送该请求,或者干脆不发送跨域访问请求。(最好的办法是不使用ajax之类的,不要在前端......
  • vue3 + vite + vue-router 4.x项目在router文件中使用pinia报错
    1.背景vue-router4.x版本,想在路由文件中引入并使用pinia后报错如下:表面意思是getActivePinia()方法在pinia还没有激活的时候被调用,导致报错。2.解决方法在stores文件夹下新建pinia.js文件,用来引入并创建pinia实例。import{createPinia}from"pinia";const......
  • ajax 跨域 如果在head里面加了参数需要在 nginx add_header 里面添加
    server{listen80;server_nameyourdomain.com;location/{#允许跨域请求add_header'Access-Control-Allow-Origin''*';add_header'Access-Control-Allow-Methods''GET,POST,OPTIONS'......
  • - 推导分页的原理 - 使用分页类(器) - cookie和session的介绍、token - Django操作coo
    推导分页原理分页:当我们要展示的数据特别多的时候,一页展示不完,这个时候我们需要把要展示的数据分成多页展示分页中需要的几个参数:1.总数据有多少条2.每页展示多少条数据(自己规定的20)3.一共展示多少页4.总页数=总数据量/每页展示多少条数据5.当前第几页(前端传过去的)......