中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么用django+vue實現跨域

發布時間:2022-03-04 09:06:00 來源:億速云 閱讀:163 作者:iii 欄目:開發技術

這篇“怎么用django+vue實現跨域”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“怎么用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插件,修改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%" :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實現跨域”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

澳门| 文水县| 定安县| 河源市| 孟连| 隆子县| 昆明市| 连城县| 慈利县| 武义县| 富源县| 扎兰屯市| 遂溪县| 杨浦区| 永清县| 宝丰县| 深泽县| 江西省| 那坡县| 蓝田县| 阿荣旗| 兰西县| 石门县| 渝北区| 九寨沟县| 台北县| 太保市| 澜沧| 区。| 若尔盖县| 延津县| 延寿县| 收藏| 田林县| 太和县| 开原市| 肇东市| 汽车| 万源市| 双鸭山市| 晋州市|