利用django框架,快速开发一个登录接口

django的mvt模式大概有什么作用,templates用来写前端html页面,views视图函数用来编写业务逻辑,是前后端交互的中间层,前端获取用户输入的数据,通过views视图函数保存到models数据库里面去,前端需要展示的页面数据也是通过views函数来获取到数据库里面的数据然后传递到前端的模板里面去, models模型主要用来设计数据表,对表数据进行增删改查的操作。

开发登录接口大致分为3个步骤:

第一步编写html模板:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>登录接口</title>
</head>
<body>
<h1>登录</h1>
<form action="" method="post" >
    <p>
        请输入用户名:
        <input type="text" name="username">
    </p>
    <p>
        请输入密码:
        <input type="text" name="password">
    </p>
    <input type="submit" value="登录">

</form>
</body>
</html>

  如图:

第二步创建数据库表:

如图定义好模型:

settings文件里配置数据库信息:

打开cmd执行迁移命令,生成数据库表

Python manage.py makemigrations

Python manage.py migrate

如图:

 生成成功如图:

里面数据是我自己添加的

第三步编写views视图函数:

如下:

大意是从前端页面获取到数据分别存储到username,password这2个变量里面,再从数据里面读取数据,进行对比,2端数据一样则返回成功,不一样则返回用户名或密码错误。

def studentlogin(request):
    if request.method == "GET":
        return render(request,"student_login.html")
    if request.method == "POST":
        username = request.POST.get("username")
        password = request.POST.get("password")
        print("用户名:{},密码:{}".format(username,password))
        # TODO 获取到对象,从数据库里取值
        res = StundentInfo.objects.get(id=1)
        if res.username == username and res.password == password:
            print("数据库用户名:{},密码:{}".format(res.username,res.password))
            result = {"code": 0,
                      "msg": "success!",
                      "data": {"username": username,
                               "password": password,
                               }
                      }
            return JsonResponse(result)
        else:
            return HttpResponse("用户名或密码错误")

 从数据里面取值:

猜你喜欢

转载自www.cnblogs.com/xiamaojjie/p/12521016.html
今日推荐