python测试开发django(25)--表单提交之post修改密码
前言
跟账号相关的功能一般是注册,登录,修改密码,密码找回功能,前面实现了登录和注册功能,本篇讲下修改密码功能实现
修改密码html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>修改密码</title>
</head>
<body>
<h1>修改密码!</h1>
<form action="" method="post">
{% csrf_token %}
<p>
用户名:<input type="text" name="username",required="required">*
</p>
<p>
密码:<input type="password" name="password",required="required">*
</p>
<p>
新密码:<input type="password" name="new",required="required">*
</p>
<p>
{{msg}}
</p>
<p>
<input type="submit" value="确定">
</p>
</form>
</body>
</html>
views和urls
#coding:utf-8
from django.shortcuts import render
from django.http import HttpResponse
from tb.models import Users
from django.contrib.auth.hashers import make_password,check_password
def reset_pwd(request):
rs=""
if request.method=="GET":
return render(request,'chpwd.html',{'msg':rs})
if request.method=="POST":
username=request.POST.get('username')
pwd=request.POST.get("password")
new_pwd=request.POST.get("new")
if pwd==new_pwd:
rs="新密码和旧密码不能重复"
return render(request,'chpwd.html',{'msg':rs})
else:
#先查询数据库是否有此用户名
user_lst=Users.objects.filter(user_name=username).first()
if not user_lst:
#没这个用户
rs="{}用户未注册".format(username)
return render(request,'chpwd.html',{'msg':rs})
else:
#如果注册过,判断密码对不对
is_pwd=check_password(pwd,user_lst.pwd)
if is_pwd:
user=Users.objects.get(user_name=username)
user.pwd=make_password(new_pwd)
user.save()
rs="密码修改成功!"
else:
rs="密码错误!"
return render(request,'chpwd.html',{'msg':rs})
urls.py访问地址
# coding:utf-8
from django.conf.urls import url
from tb import views
urlpatterns = [
# 新增用户
url(r'^register/', views.register),
url(r'^login/', views.login),
url('^chpwd/',views.reset_pwd),
]
实现效果如下
越努力,越幸运!!!
good good study,day day up!!!
浙公网安备 33010602011771号