我的编程空间,编程开发者的网络收藏夹
学习永远不晚

django+vue实现跨域的示例代码

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

django+vue实现跨域的示例代码

版本

Django 2.2.3
Python 3.8.8
djangorestframework 3.13.1
django-cors-headers 3.11.0

django实现跨域

说明:此处方法为后端解决跨越,即django端解决跨越。

1. 安装 django-cors-headers

pip install django-cors-headers

2. 修改项目配置文件 项目/settings.py

...
# Application definition
INSTALLED_APPS = [
    'django.contrib.staticfiles',

    'corsheaders',  # 添加:跨域组件
    'rest_framework',  # 添加:DRF框架
    'home',  # 子应用
]
MIDDLEWARE = [
    'corsheaders.middleware.CorsMiddleware',  # 添加:放首行(放其他行未测试)
    'django.middleware.security.SecurityMiddleware',
    ...
# CORS组的配置信息
CORS_ORIGIN_WHITELIST = (
    'http://127.0.0.1:8080',
    # 这里需要注意: 1. 必须添加http://否则报错(https未测试) 2. 此地址就是允许跨域的地址,即前端地址
)
CORS_ALLOW_CREDENTIALS = True  # 允许ajax跨域请求时携带cookie

至此django端配置完毕

3. 前端vue使用axios访问后端django提供的数据接口,安装axios

npm install axios -S

4. 前端vue配置axios插件,修改class="lazy" data-src/main.js

...
import axios from 'axios';  // 添加: 导入axios包

// axios.defaults.withCredentials = true;  // 允许ajax发送请求时附带cookie
Vue.prototype.$axios = axios; // 把对象挂载vue中
···

5. 在XX.vue中跨域请求数据

···
    created: function() {
      // 获取轮播图
      this.$axios.get("http://127.0.0.1:8000/book/").then(response => {
        console.log(response.data)
        this.banner_list = response.data
      }).catch(response => {
        console.log(response)
      })
     // http://127.0.0.1:8000/book/ 这个就是后端django接口
···

代码

<template>
  <div class="div1">
      <el-carousel trigger="click" height="600px">
        <el-carousel-item v-for="book in book_list" :key="book.index">
          <a :href="book.link" rel="external nofollow" >
            <img width="80%" :class="lazy" data-src="book.image" alt="">
          </a>
        </el-carousel-item>
      </el-carousel>
  </div>
</template>

<script>
  export default {
    name:"Book",
    data(){
      return {
        book_list:[]
      };
    },
    created: function() {
      // 获取轮播图
      this.$axios.get("http://127.0.0.1:8000/book/").then(response => {
        console.log(response.data)
        this.book_list = response.data
      }).catch(response => {
        console.log(response)
      })
    }
  }
</script>
<style>
.div1 {
  margin-top: 100px;
  height: 1000px
}
img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
</style>

到此这篇关于django+vue实现跨域的文章就介绍到这了,更多相关django vue跨域内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

django+vue实现跨域的示例代码

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

怎么用django+vue实现跨域

这篇“怎么用django+vue实现跨域”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用django+vue实现跨域”文
2023-06-29

vue内嵌iframe跨域通信的实例代码

这篇文章主要介绍了vue内嵌iframe跨域通信,主要介绍了Vue组件中如何引入iframe,vue如何获取iframe对象以及iframe内的window对象,结合实例代码给大家介绍的非常详细需要的朋友可以参考下
2022-11-13

Vue实现骨架屏的示例代码

骨架屏就是在页面数据尚未加载前先给用户展示出页面的大致结构。本文将利用Vue实现简单的骨架屏,感兴趣的小伙伴可以跟随小编一起学习一下
2023-03-19

Android AIDL实现跨进程通信的示例代码

AIDL是Android接口定义语言,它可以用于让某个Service与多个应用程序组件之间进行跨进程通信,从而可以实现多个应用程序共享同一个Service的功能。实现步骤例:用 A程序去访问 B程序的MyService.java服务 在B
2023-05-30

Spring Boot实现跨域访问实现代码

当前使用spring版本是4.3.9import org.springframework.stereotype.Component;import javax.servlet.*;import javax.servlet.http.HttpS
2023-05-31

vue怎么实现的跨域

随着前端技术的不断发展,前端工程师们在制作网站时经常需要通过Ajax请求来获取数据。在这个过程中,很容易遇到跨域问题。本文将介绍Vue.js如何实现跨域请求的方式。1. JSONP跨域JSONP(JSON with Padding)是一种跨域数据交互的解决方案。它是利用了页面可以加载跨站脚本的原理来实现。在Vue.js中实现JSONP跨域请求,通常有两种方法:1)手动创建scr
2023-05-18

Vue实现移动端日历的示例代码

工作中遇到一个需求是根据日历查看某一天/某一周/某一月的睡眠报告,但是找了好多日历组件都不是很符合需求,只好自己手写一个日历组件,顺便记录一下,希望对大家有所帮助
2023-05-14

编程热搜

目录