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("用户名或密码错误")
从数据里面取值: