学姐的直播看完了
以下是作业完成情况:
前端:
后端:
再发点主要代码吧,之前鸿蒙培训的时候给我提意见让写点代码上来 我本来一般都不写的😂
注释掉的是之前写5的时候的代码 不用管了
import pymysql
from django.http import HttpResponse, request # 请求响应
# Create your views here.
from rest_framework.utils import json
from rest_framework.views import APIView
from train import models
# import train.views
from train.models import Person
try:#捕捉异常
con = pymysql.connect(host='127.0.0.1',
port=3306,
user='root',
password='123456',
db="train",
charset='utf8')
print("数据库链接成功!")
except pymysql.Error as e:
print('数据库链接失败' + str(e))#捕捉异常,看出来错误错哪了
# class AppReq1(APIView):
# def post(self, request):
# _id = request.data.get('id')
# print("AppReq1 _id:", _id)
# result = person.objects.filter(name='w')
# arr = []
# for i in result:
# content = {
# '姓名': i.get("name"),
# '年龄': i.get("age")
# }
# arr.append(content)
# print(arr)
# print(type(arr))
# ID = request.data.get('id')
# username = request.data.get("username");
# password = request.data.get("password");
# print(ID)
# print(username)
# print(password)
# return HttpResponse(arr)
# class login33(APIView):
# def post(self, request):
# username=request.data.get("username")
# password1=request.data.get("password")
# print(username)
# print(password1)
#
# cur = con.cursor()
# sql = "select * from train_person where username =%s"
# value = username
# try:
# if cur.execute(sql, value):
# con.commit()
# results = cur.fetchall()
# for row in results:
# Pusername=row[1]
# Ppassword=row[2]
# print(Pusername)
# print(Ppassword)
# if password1 == Ppassword:
# print("账号密码验证通过")
# return HttpResponse("请求成功")
# else:
# print("查无此人")
# except pymysql.Error as e:
# print("查无此人"+str(e))
# return HttpResponse("请求失败")
#
#
# result = [{"name": "wxy", "age": 10}, {"name": "wxy", "age": 20}]
# arr = []
# for i in result:
# content = {
# '姓名': i.get("name"),
# '年龄': i.get("age")
# }
# arr.append(content)
#
# return HttpResponse(arr)
class DocGetData(APIView):
def post(self, request):
try:
getusername = request.data.get('getusername') # 接收前端发送回来的username的值
print("--getusername:", getusername) # 打印输出
result = models.Train.objects.filter(name=getusername).first() # 用户字典对象
# 查询功能:username=getsername,Save数据库当中对应的username的值,last选最新一条数据.first()选中相同数据库中第一条数据,
if not result:
return HttpResponse("没有对应的数据存在")
name = result.name # 将数据库中的值赋给变量
age = result.age# 对象.值
alldata = [] # 定义空列表
alldata.append({
'name': name,
'age': age,
})# 将获取的值赋给列表
print(alldata)
alldata_json = json.dumps(alldata, ensure_ascii=False) # 数据转换: json.dumps使返回前端的是正确的中文或字符
return HttpResponse(alldata_json)
except Person.DoesNotExist as e:
print('获取失败')
# else:
return HttpResponse("请求失败") # 返回前端的值
前端的:
import fetch from '@system.fetch';
import router from '@system.router';
import qs from 'querystring';//npm install qs 和 npm install querystring
var pressure=[]
export default {
data: {
winfo: "",
detail: [{
name: "111",
age: 123,
},
{
name: "bbb",
age: 1234,
}
]
},
onclick() {
({})
},
onClick() {
//发送网络请求
fetch.fetch({
url: 'http://127.0.0.1:8000/train/getNewData2/', //发送到django后端的网址,这个端口号要自己查
data: qs.stringify({
'getusername': '111'
}),
//验证,转为字符串发给后台
responseType: "json", //请求的参数类型
method: "POST",
success: (resp) => {
var getdata
//将JSON字符串转换为JSON对象
getdata = JSON.parse(resp.data)
this.detail[0].username = getdata[0].name
this.detail[0].password = getdata[0].word
this.winfo = resp.data; //令获取到的数据赋给winfo
console.log("返回的数据:" + this.winfo) //打印出数据
console.log("c:" + typeof (getdata));
},
fail: (resp) => {
this.winfo = resp.data;
console.log("获取数据失败:" + this.detail);
}
});
},
}
视频转成gif形式了
8.5号更新:重新学了一遍django,忘了把写的笔记的链接放上来了!!!!特此修改
(1条消息) 梅科尔工作室-Django保姆教程-1_沂安的博客-CSDN博客