python: 获取post请求传过来是数据转为Json格式

from django.shortcuts import render, HttpResponse
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
from app import models
import json


#如果是post请求接口的话需要在前面写上赵这个   否则报错
@csrf_exempt
def register(request):
    # 把前端提交过来的数据转为Json格式
    user_data = json.loads(request.body)
    name = user_data.get('name')
    password = user_data.get('password')
    phone = user_data.get('phone')
    age = user_data.get('age')
    sex = user_data.get('sex')
    address = user_data.get('address')
    # 查询是否有相同的用户名
    exists = models.UserInfo.objects.filter(name=name).exists()
    # print(f"时候有相同的name,{exists}")
    if exists:
        return_data = {
            "code": 400,
            "data": {
                "data": {
                    "message": "用户名已经存在"
                 }
            }
        }
        return JsonResponse(return_data)
    models.UserInfo.objects.create(name=name, password=password, phone=phone, age=age, sex=sex, address=address,)
    return_data = {
        "code": 200,
        "data": {
            "data": {
                "message": "注册成功"
            }
        }
    }
    return JsonResponse(return_data)


@csrf_exempt
def login(request):
    # print(f"登录{request.body}")
    user_data = json.loads(request.body)
    name = user_data.get("name")
    password = user_data.get('password')
    exists = models.UserInfo.objects.filter(name=name, password=password).exists()
    print(f"时候有{exists}")
    if exists:
        return_data = {
            "code": 200,
            "data": {
                "data": {
                    "message": "登录成功"
                }
            }
        }
        return JsonResponse(return_data)
    return_data = {
        "code": 400,
        "data": {
            "data": {
                "message": "用户或密码不正确"
            }
        }
    }
    return JsonResponse(return_data)


@csrf_exempt
def admin_login(request):
    """管理员"""
    user_data = json.loads(request.body)
    name = user_data.get('name')
    password = user_data.get('password')
    exists = models.AdminInfo.objects.filter(name=name, password=password).exists()
    if exists:
        return_data = {
            "code": 200,
            "data": {
                "data": {
                    "message": "登录成功"
                }
            }
        }
        return JsonResponse(return_data)
    return_data = {
        "code": 400,
        "data": {
            "data": {
                "message": "用户名或密码错误"
            }
        }
    }
    return JsonResponse(return_data)


@csrf_exempt
def register_admin_login(request):
    """注册管理员"""
    user_data = json.loads(request.body)
    name = user_data.get('name')
    password = user_data.get('password')
    exists = models.AdminInfo.objects.filter(name=name).exists()
    if exists:
        return_data = {
            "code": 400,
            "data": {
                "data": {
                    "message": "用户名已经存在"
                }
            }
        }
        return JsonResponse(return_data)
    models.AdminInfo.objects.create(name=name, password=password)
    return_data = {
        "code": 200,
        "data": {
            "data": {
                "message": "注册成功"
            }
        }
    }
    return JsonResponse(return_data)


@csrf_exempt
def super_admin_login(request):
    """超级管理员"""
    user_data = json.loads(request.body)
    name = user_data.get('name')
    password = user_data.get('password')
    exists = models.SuperAdminInfo.objects.filter(name=name, password=password).exists()
    if exists:
        return_data = {
            "code": 200,
            "data": {
                "data": {
                    "message": "登录成功"
                }
            }
        }
        return JsonResponse(return_data)
    return_data = {
        "code": 400,
        "data": {
            "data": {
                "message": "用户名或密码错误"
            }
        }
    }
    return JsonResponse(return_data)
    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值