class login(APIView):
def post(self, request):
username = request.data.get("username")
password = request.data.get("password")
cur = con.cursor()
try:
if cur.execute("select * from login where name=%s", username):
con.commit()
results = cur.fetchall()
for i in results:
user = i[1]
pwd = i[2]
print(pwd)
if password == pwd:
print("登陆成功")
return (username,"登陆成功")
else:
print("账号或密码错误")
except pymysql.Error as e:
print("账号或密码错误")
return HttpResponse("登录失败")
post函数实现的功能是从前端获取到的数据与从数据库中查询出的账号密码进行比对,使用游标查询表格中的所有数据,放在结果集result中,使用for循环遍历该集合,提取出数据库中的账号密码
在执行查询的时候传入两个参数,第一个参数就是我们查询数据用到的sql语句,可以单独创建一个string类型的数据来储存sql语句,增加代码的健壮性。
移动游标查询出的数据储存在user和owd两个变量中,使用if的条件判断来对比两份数据是否一样,如果一样就输出查询到的账号密码,并反馈给前端登录成功的字样,如果对比数据不成功,则返回给前端登录失败的字样并附带登录失败的原因
配置url的路径
其中一级目录可以不用修改,因为login也是在本项目的文件夹下,但是二级目录必须要修改正确