views中方法函数
class refresh(APIView):
def post(self, request):#函数有自身获取能力和获取能力
try:
aname=request.data.get('name')#获取的数据定义为aname
print(aname)
result = models.refresh.objects.filter(name=aname).last()#接收查询到的数据
dname=result.name#将查询的值赋给各数据
age=result.age
height = result.height
weight = result.weight
hobby = result.hobby
alldata=[]#创建数组
alldata.append({
'name':dname,'age':age,'height':height,'weight':weight,'hooby':hobby
})#在数组中添加查询的数据
alldata_json=json.dumps(alldata,ensure_ascii=False)#将数组中数据json化
print(alldata_json)
return HttpResponse(alldata_json)
except refresh.DoesNotExist as e:
print("刷新失败")
model
from django.db import models
class refresh(models.Model):
name=models.CharField(max_length=20)
age=models.IntegerField()
height=models.IntegerField()
weight=models.IntegerField()
hobby=models.CharField(max_length=20)
主项目urls
from django.contrib import admin
from django.urls import path,include
from pen import urls as pen_urls
urlpatterns = [
path('admin/', admin.site.urls),
path('pen/',include(pen_urls)),
]
第六次视频
前端js
import fetch from '@system.fetch';
import router from '@system.router';
import qs from 'querystring';
export default {
data: {
winfo:"",
//设置各数据的默认值
data:[
{
name:"杰克船长",
age:"59",
height:"186",
weight:"158",
hobby:"探险"
}
]
},
onInit() {
this.title = this.$t('strings.world');
},
shuaxin(){
fetch.fetch({
//后端的接口,liqing为创建的app的名称,refresh为views中的类名
url:'http://127.0.0.1:8000/pen/refresh/',
//将要发送的数据通过qs转为url的格式并向后端发送
data:qs.stringify({'name':'艾力克斯'}),
//接受数据的类型
responseType:"json",
//发送请求的方法
method:"POST",
//接口成功调用的函数,resp.data为返回的数据
success:(resp)=>
{
// 创建一个变量用来接收json化的数据
var jsondata;
//用json.parse方法让将字符串类型华为对象类型
jsondata = JSON.parse(resp.data)
// 将获得的值赋给刷新数据
this.data[0].name = jsondata[0].name;
this.data[0].age = jsondata[0].age;
this.data[0].height = jsondata[0].height;
this.data[0].weight = jsondata[0].weight;
this.data[0].hobby = jsondata[0].hobby;
this.winfo = resp.data;
//打印获数据
console.log("获取成功")
console.log("返回的数据:"+this.winfo)
},
//失败接口
fail:(resp)=>
{
//打印原因
this.winfo = resp.data;
console.log("获取失败")
console.log("失败原因:"+this.winfo)
}
})
}
}