03-views

作者: 学飞的小鸡 | 来源:发表于2018-10-20 15:09 被阅读0次
    import random
    
    from django.http import HttpResponse
    from django.shortcuts import render
    
    # Create your views here.
    from TwoApp.models import Person, IDCard, Grade, Student, User, Goods
    
    
    def hello(request):
        return HttpResponse('hello django!')
    
    
    def index(request):
        return render(request, 'index.html')
    
    
    
    ######################## 一对一 ########################
    def addperson(request):
        per = Person()
        per.p_name = 'atom' + str(random.randint(1,10000))
        per.p_age = random.randint(10,50)
        per.save()
    
        return HttpResponse('添加 {} 成功'.format(per.p_name))
    
    
    def addcart(request):
        idcart = IDCard()
        idcart.i_num = '441622xxxxxxxxxxx{}'.format(random.randint(1000,10000))
        idcart.i_addr = '深圳市宝安区西部硅谷-' + str(random.randint(1,10000))
    
        # 身份证 绑定 人
        # 绑定到 最后一个人身上
        per = Person.objects.last()
        idcart.i_person = per   # 其实是per.id
    
        idcart.save()
    
        return HttpResponse('身份证{},绑定人:{}'.format(idcart.i_num, per.p_name))
    
    
    def delperson(request):
        per = Person.objects.last()
        per.delete()
    
        return HttpResponse('人道毁灭成功!')
    
    
    def delcart(request):
        idcart = IDCard.objects.last()
        idcart.delete()
    
        return HttpResponse('销户成功(身份证)!')
    
    
    def get_person_cart(request):
        per = Person.objects.last()
    
        # 获取这个人对应的身份证
        # 主获取从, 关系字段是隐性
        idcart = per.idcard     # 对应的关系表 IDCard --> 小写idcard
    
        return HttpResponse('{}出示身份证: {}'.format(per.p_name, idcart.i_num))
    
    
    def get_cart_person(request):
        cart = IDCard.objects.last()
    
        # 从获取主, 关系字段直接获取
        per = cart.i_person # 身份证对应的人
    
        return HttpResponse('身份证:{} 找到的人是: {}'.format(cart.i_num, per.p_name))
    
    
    
    ######################## 一对多 ########################
    def addgrade(request):
        grade = Grade()
        grade.g_name = 'python18' + str(random.randint(10,99))
        grade.save()
    
        return HttpResponse('班级 {} 添加成功! '.format(grade.g_name))
    
    
    def addstu(request):
        stu = Student()
        stu.s_name = '王总-' + str(random.randint(1,10000))
        stu.s_score = random.randint(1,100)
        stu.s_detail = str(random.randint(1,100)) + '我住隔壁,我性王,你有事情我帮忙!'
    
        # 将该学生加到最后一个班级中
        grade = Grade.objects.last()
        stu.s_grade = grade
    
        stu.save()
    
        return HttpResponse('{}添加 {} 学生成功!'.format(grade.g_name,stu.s_name))
    
    
    def delgrade(request):
        grade = Grade.objects.last()
        grade.delete()
    
        return HttpResponse('删除班级成功!')
    
    
    def delstu(request):
        stu = Student.objects.last()
        stu.delete()
    
        return HttpResponse('删除学生成功!')
    
    
    def showstudents(request):
        # 班级
        grade = Grade.objects.last()
    
        # 主获取从,隐性访问:  对象.关系表(小写)_set.all()
        # 该班级对应的学生
        # Student.objects.filter(s_grade=grade.id)
        # student_set 是objects同源
        students = grade.student_set.all()
        print(students)
    
        str = '<h1>{} 班级学生信息</h1>'.format(grade.g_name)
        for stu in students:
            str += '<p> 学号:{}  姓名:{}  成绩: {} </p>'.format(stu.id, stu.s_name, stu.s_score)
    
        return HttpResponse(str)
    
    
    def showgrade(request):
        stu = Student.objects.last()
    
        # 从获取主,显性访问: 对象.属性
        grade = stu.s_grade
    
        return HttpResponse(grade.g_name)
    
    
    
    ######################## 多对多 ########################
    def adduser(request):
        user = User()
        user.u_name = '小黄狗-' + str(random.randint(1,1000))
        user.u_tel = random.randint(1000000000, 10000000000)
        user.save()
    
        return HttpResponse('{}用户注册成功!'.format(user.u_name))
    
    
    def addgoods(request):
        goods = Goods()
        goods.g_name = 'iPhone ' + str(random.randint(1,11))
        goods.g_price = random.randint(6000, 10000)
        goods.save()
    
        return HttpResponse('{} 添加成功!'.format(goods.g_name))
    
    
    def add_goods_to_user(request): # 添加购物车
        goods = Goods.objects.last()
        user = User.objects.last()
    
        # 用户  添加商品  到  购物车
        goods.g_user.add(user)
        goods.save()
    
        return HttpResponse('{} 收藏商品: {}'.format(user.u_name,goods.g_name))
    
    
    def show_user_goods(request):   # 显示购物车
        # 一个用户 对应 多个商品
        user = User.objects.last()
        goods_list = user.goods_set.all()
        # print(goods_list)
    
    
        str = '<h1> {} 购物车 </h1>'.format(user.u_name)
        for goods in goods_list:
            str += '<p>{}  ${}</p>'.format(goods.g_name,goods.g_price)
    
        return HttpResponse(str)
    
    
    def add_collect(request):   # 添加收藏
        goods = Goods.objects.last()
        user = User.objects.last()
    
        goods.g_user.add(user)
        goods.save()
    
        return HttpResponse('{}商品收藏成功[{}]'.format(goods.g_name,user.u_name))
    
    
    def show_collect(request):  # 显示收藏
        # 一个商品  对应 多个用户
        goods = Goods.objects.last()
        user_list = goods.g_user.all()
    
        return HttpResponse('{}商品收藏数量: {}'.format(goods.g_name, user_list.count()))
    

    相关文章

      网友评论

          本文标题:03-views

          本文链接:https://www.haomeiwen.com/subject/fmbyaftx.html