Django-视图views

本文详细介绍了如何使用Python Django框架实现用户登录和注册功能,包括处理GET和POST请求、MD5密码加密、session和cookie的使用,以及用户信息的数据库操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以登录和注册操作为例
def login_views(request):
if request.method==‘GET’: #判断请求方法
if ‘uname’ in request.session or ‘uname’ in request.COOKIES:#判断session和cookie
return render(request, ‘index.html’)#登录到主页
else:
result=’’
return render(request,‘login.html’)
else:
uname=request.POST.get(‘uname’,None)
upassword=request.POST.get(‘upassword’,None)
upwd=md=hashlib.md5()
md.update(upassword.encode(“utf-8”))
pwd=md.hexdigest()
user=User.objects.filter(user_name=uname,user_password=pwd)
if user:
request.session[“uname”]=uname#存session
resp = HttpResponseRedirect("/")
if “remember_password” in request.POST:#判断用户是否记住密码
resp.set_cookie(“uname”,uname,360024365)#设置cookie
return resp
else:
result=“用户名或密码错误”
return render(request,“login.html”,locals())

def register_views(request):
if request.method == ‘GET’:
return render(request,‘register.html’)
else :
username=request.POST.get(“username”,"")
password=request.POST.get(“password”,"")
avatar=request.FILES.get(“avatar”,"")#接收头像文件
if avatar:#如果有头像上传,则存储到服务器
avatar_name = username + “.” + avatar.name.split(".")[-1]
with open(“index/static/images/avatar/”+avatar_name, “wb”) as f:
for chunk in avatar.chunks():
f.write(chunk)
else:
avatar=None
if username and password:#对密码进行加密存储
md=hashlib.md5()
md.update(password.encode(“utf-8”))
pwd=md.hexdigest()
User.objects.create(user_name=username,user_password=pwd,user_avatar=avatar_name)
return HttpResponseRedirect(’/login/’)#重定向到登录界面地址

登录请求处理流程图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值