第六十八天 BBS项目之四 分组连表查询 路由匹配进阶使用

tuq2791 / 2024-03-06 / 原文

一、内容回顾

# 1 登录页面搭建
-bootsrtap的栅格,form-group, input:form-control
-验证码


# 2 验证码图片的生成
-1 pillow生成一张图片
-2 图片上写文字
-3 设置文字大小,设置文字颜色,设置文字字体格式(ttf)
-4 5位大小写字母,数字
-5 点,线,弧形
-6 放到bytesio,取出来
	img.save(f,'png')
	f.getvalue()
-7 返回给前端  HttpResponse
JsonResponse({code:100,data:asdfasdfasdfasd})
"""
HttpResponse主要用于直接返回字符串类型的数据
JsonResponse只能返回字典或者列表,而且你想返回列表的话,需要加参数 safe=True
JsonResponse也可以将文件转换以后的数据以二进制的方式存储在kv键值对中
JsonResponse({code:100,data:asdfasdfasdfasd})
"""


# 3 登录后台
-取出用户名,密码,验证码
-从session中取出验证码,判断传入的是否一致
-使用它:authenticate 验证用户名密码是否正确  ---》密码是加密的
-django内置user表的密码加密:虽然密码一致,但是生成的加密后的串是不一样的
"""
我们也想自己的密码被加密,我们就可以点开UserInfo.objects.create_user(**register_data)的源代码
发现主要是user.password = make_password(password)在起作用
from django.contrib.auth.hashers import make_password
秘文=make_password('明文')
"""

from django.contrib.auth import authenticate, login as auth_login, logout
auth_login(request,user)
"""
登录成功之后使用auth_login(request,user)记录登录成功以后的状态
"""