您好,登錄后才能下訂單哦!
這篇“怎么用django+vue實現跨域”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“怎么用django+vue實現跨域”文章吧。
Django 2.2.3
Python 3.8.8
djangorestframework 3.13.1
django-cors-headers 3.11.0
說明:此處方法為后端解決跨越,即django端解決跨越。
django-cors-headers
庫pip install django-cors-headers
項目/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端配置完畢
axios
訪問后端django提供的數據接口,安裝axios
npm install axios -S
axios
插件,修改src/main.js
... import axios from 'axios'; // 添加: 導入axios包 // axios.defaults.withCredentials = true; // 允許ajax發送請求時附帶cookie Vue.prototype.$axios = axios; // 把對象掛載vue中 ···
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%" :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實現跨域”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。