梅科尔工作室——Django+HarmonyOS 使用ROM方法查询最新数据
Django+HarmonyOS 使用ROM方法查询最新数据
前言
使用Django时如需操作已有数据库,需要先进行模型映射
具体操作如下
# CMD操作,进入项目文件python manage.py inspectdb# 等待映射完毕python manage.py inspectdb > models.py#之后会在manage.py同级目录下生成新的models.py文件,只需要复制粘贴即可
一、后端
同样我们需要先在urls.py
中使用as_view()
方法配置路由,具体原因上一章已经阐述
# 返回数据库最新数据class Getlastdata(APIView): def post(self, request): try: patientname = request.data.get('patientname') # 获取前端传输数据 print('用户输入名称:' + patientname) result = models.Patient.objects.filter(name=patientname).last() # 查询符合条件的最新数据 name = result.name age = result.age height = result.height weight = result.weight body = result.body alldata = [] alldata.append({ 'name': name, 'age': age, 'height': height, 'weight': weight, 'body': body }) alldata_json = json.dumps(alldata, ensure_ascii=False) # 转换为JSON格式 return HttpResponse(alldata_json) except Patient.DoesNotExist as e: print('用户名不存在') return HttpResponse('用户名不存在') else: return HttpResponse('请求失败')
二、前端JS
# get.jsimport fetch from '@system.fetch';import qs from 'querystring';import router from '@system.router';export default{ data: { winfo:'', detail:[{ // 写定初始值 name:'aaa', age :'18', height:'180', weight:'70', body:'腿部' }] }, onClick(){ fetch.fetch({ url:`http://127.0.0.1:8000/Qingtian/getlastdata/`, data:qs.stringify({patientname:'bbb'}), // 请求传输后端数据 responseType:'json', method:'POST', success:(resp)=> { var getdata getdata = JSON.parse(resp.data) // 后端数据前端赋值 this.detail[0].name = getdata[0].name this.detail[0].age = getdata[0].age this.detail[0].height = getdata[0].height this.detail[0].weight = getdata[0].weight this.detail[0].body = getdata[0].body this.winfo = resp.data console.log('返回数据:'+this.winfo), console.log('数据格式:'+typeof(this.winfo)) }, fail:(resp)=> { console.log('获取数据失败') } }) }}