Vue那些小坑

身为后端程序袁的我经常后遇到Django与vue交互时的一些小问题:小白适用

现在就来说说哪些坑

想在vue中展示图片最好是把图片文件夹放在static下

在这里插入图片描述

Vue端

<template>
  <div align="center">
    <button @click="show('人工智能')">人工智能</button>      # 点击事件
    <br>
    <table width="1400" border="1" cellspacing="0">
      <tr>
        <td>标题</td>
        <td>图片</td>
      </tr>
      <tr v-for="aa in blogs">
        <td>{{ aa.title }}</td>
        <td><img :src="'../../static/img/'+ aa.imgname" alt="" style="width: 100px;height: 100px"></td>     # 导入图片
      </tr>
    </table>
  </div>
</template>

<script>
  export default {
    name: "Index",
    data() {
      return {
        blogs: []                           #在这里定义你所需要的变量
      }
    },
    methods:{
      show(kw){
        this.axios({
            url:'http://127.0.0.1:8000/show/' + kw,    # 给后端传数据
          method:'GET'
        }).then(res=>{
          this.blogs=res.data.data               # 这个是从后端拿过来的数据
        })
      }
    },
    mounted() {
      this.axios({
        url: 'http://127.0.0.1:8000/index',     #与后端连接的url
        mothod: 'GET' 
      }).then(res => {
        this.blogs = res.data.data                     # 这个是从后端拿过来的数据
      })
    }
  }
</script>

Django端

import pymongo
from django.http import JsonResponse 

conn = pymongo.MongoClient()
db = conn.boke
table = db.bk

# 这是我从mongdb中拿出的数据
def index(request):
    ret = list(table.find({}, {'_id': 0}))     
    return JsonResponse({
        'data': ret
    })

# 这是为了点击事件的函数
def show(request, *args, **kwargs):
    kw = ' ' + args[0]
    print(kw)
    ret = list(table.find({'typ': kw}, {'_id': 0}))
    return JsonResponse({
        'data': ret
    })


# 注意:   想要使用点击按钮的时候url里需要这样写
from django.contrib import admin
from django.urls import path, re_path    #要导入re_path
from boke.views import index, show

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', index),
    re_path('show/(\w+)', show)     # 看过来  就是这里
]

每个人写代码的方式不同 欢迎留言

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值