• django6返回数据库最新一条数据


    前端

    html

    1. <div class="cb-container"">
    2. <div class="cb-title">
    3. <text class="cb-title-text">
    4. 患者数据
    5. text>
    6. div>
    7. <div >
    8. <text style="">
    9. 姓名 :
    10. text>
    11. <text style="">{{detail[0].name}}text>
    12. div>
    13. <div>
    14. <text style="">
    15. 年龄 :
    16. text>
    17. <text style="">{{detail[0].age}}text>
    18. div>
    19. <div>
    20. <text style="">
    21. 身高 :
    22. text>
    23. <text style="">{{detail[0].high}}text>
    24. div>
    25. <div>
    26. <text style="">
    27. 体重 :
    28. text>
    29. <text style="">{{detail[0].weight}}text>
    30. div>
    31. <div>
    32. <text style="">
    33. 患病部位 :
    34. text>
    35. <text style="">{{detail[0].DiseasedSite}}text>
    36. div>
    37. <div class="container">
    38. <button onclick="onClick" class="btn-map" style="background-color: darkturquoise; height: 50px;width: 100px;">刷新button>
    39. div>
    40. <div class="container3">
    41. <text style="font-size: 70px;">
    42. {{winfo}}
    43. text>
    44. div>
    45. div>

     css

    必须加上的一条,否则默认在一行,会导致显示不清楚

    1. .cb-container{
    2. flex-direction: column;
    3. width: 100%;
    4. height: 100%;
    5. }

    js 

    1. import router from '@system.router';
    2. import fetch from '@system.fetch';
    3. import qs from 'querystring';
    4. export default {
    5. data:{
    6. winfo:"" ,//定义winfo用于存放后端反馈数据
    7. detail:[{ //初始化
    8. name:"张三",
    9. age:55,
    10. high:180,
    11. weight:64,
    12. DiseasedSite:"手臂"
    13. },
    14. {
    15. name:"李四"
    16. }
    17. ]
    18. },
    19. onClick(){
    20. fetch.fetch({
    21. url:`http://127.0.0.1:8000/shuju1/`, //后端路径,一定不能错,用的是反单引号
    22. data: qs.stringify({'patientname':'李四'}),//验证,将字符串转发给后端,后端会受到这个请求
    23. responseType:"json",//请求的参数类型
    24. method: "POST",
    25. success:(resp)=>
    26. {
    27. var getdata
    28. //将JSON字符串转换为JSON对象
    29. getdata = JSON.parse(resp.data)
    30. this.detail[0].name=getdata[0].name
    31. this.detail[0].age=getdata[0].age
    32. this.detail[0].high=getdata[0].height
    33. this.detail[0].weight=getdata[0].weight
    34. this.detail[0].DiseasedSite=getdata[0].DiseasedSite
    35. this.winfo = resp.data;//令获取到的后端数据赋给winfo
    36. console.log("返回的数据:"+this.winfo);//打印出数据
    37. console.log("a"+typeof(getdata));
    38. },
    39. fail:(resp)=>
    40. {
    41. console.log("获取数据失败:"+this.detail)//打印出数据
    42. }
    43. });
    44. }
    45. }

    后端

    表格

     

    url.py

    1. from django.urls import path
    2. from apptest import views
    3. from apptest.views import denglu,shuju1
    4. # from . import views
    5. urlpatterns = [
    6. # path('admin/', admin.site.urls),
    7. path('index/', views.index),
    8. path('user/list', views.user_list),
    9. path('user/add', views.user_add),
    10. path('orm/', views.orm),
    11. # 请求和响应
    12. path('something/', views.something),
    13. # 登录页面
    14. path('denglu/', denglu.as_view()),
    15. path('shuju1/', shuju1.as_view()),//这行为本次重点
    16. ]

     models.py

    1. from django.db import models
    2. class shuju(models.Model): # 建表,定义一个类Students,包含Name,Email,Age信息
    3. # userName = models.CharField(max_length=64, default="")
    4. Name = models.CharField(max_length=64, default="")
    5. Age = models.CharField(max_length=64, default="")
    6. Height = models.CharField(max_length=64, default="")
    7. Weight = models.CharField(max_length=64, default="")
    8. DiseasedSite = models.CharField(max_length=64, default="")

    views.py

    1. from django.shortcuts import render, HttpResponse, redirect
    2. import pymysql
    3. from rest_framework.utils import json
    4. from rest_framework.views import APIView
    5. # Create your views here.
    6. from apptest import models
    7. try:
    8. con = pymysql.connect(host='127.0.0.1', # 或者是写localhost
    9. port=3306, # 端口号
    10. user='root', # MySQL登录用户名
    11. password='*****', # MySQL登录密码
    12. db='django', # 要连接的数据库名称
    13. charset='utf8') # 表的字符集
    14. print("数据库连接成功")
    15. except pymysql.Error as er:
    16. print('连接失败' + str(er)) # 打印异常
    17. class shuju1(APIView): # shuju类视图
    18. def post(self, request): # 创建post方法
    19. try:
    20. patientname = request.data.get('patientname') # 获取前端发送的patientname
    21. print(patientname) # 打印patientname
    22. result = models.shuju.objects.filter(Name=patientname).last()
    23. print(result)
    24. # 使用filter方法查询数据表中Name=patientname的数据,last方法为查询最新,加last后为字典
    25. name = result.Name # 获取result中的name
    26. age = result.Age # 获取result中的age
    27. weight = result.Weight # 获取result中的weight
    28. height = result.Height # 获取result中的height
    29. diseasedSite = result.DiseasedSite # 获取result中的diseasedSite
    30. alldata = [] # 创建空列表
    31. alldata.append({ # 写入如下字典,“键”要和前端对应
    32. 'name': name, 'age': age, 'weight': weight, 'height': height,
    33. 'DiseasedSite': diseasedSite,
    34. })
    35. alldata_json = json.dumps(alldata, ensure_ascii=False) # 使中文正确显示
    36. return HttpResponse(alldata_json)
    37. except shuju.DoesNotExist as e:
    38. print('刷新失败')
    39. else:
    40. return HttpResponse("请求失败")

    部分图片感悟与借鉴

     

     

     

     

     

  • 相关阅读:
    python字符串总结
    线性代数:向量、张量、矩阵和标量
    [C++随想录] 优先级队列的模拟实现
    prisma使用mongodb副本集群报错引发的一些列问题
    2023年Java核心技术大会(Core Java Week 2023)-核心PPT资料下载
    qt 简单实验 一个可以向左侧拖拽缩放的矩形
    Python 二叉树的基本操作实现
    PriorityQueue常用接口介绍
    Java 11 新特性
    SpringBoot SpringBoot 开发实用篇 1 热部署 1.3 热部署范围配置
  • 原文地址:https://blog.csdn.net/qq_63202674/article/details/126549538