Django第六次培训

 学姐的直播看完了

以下是作业完成情况:

前端:

后端:

 再发点主要代码吧,之前鸿蒙培训的时候给我提意见让写点代码上来  我本来一般都不写的😂

注释掉的是之前写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博客

(1条消息) 梅科尔工作室-Django保姆级教程-2-ORM介绍与Model设计_沂安的博客-CSDN博客

(1条消息) 梅科尔工作室--Django保姆级教程-3-ORM的增删改查_沂安的博客-CSDN博客

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值