zoukankan      html  css  js  c++  java
  • 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),
    ]
    

     实现效果如下

     

  • 相关阅读:
    .NET 开源GIS解决方案一 概述
    未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage”包
    C# Winform欢迎窗体实现()
    Log4Net使用指南(转)
    DotNet经典面试题(转载)
    这是一篇测试文章
    每天进步一点点
    博客园公告栏添加两个有趣的控件
    eclipse下查看maven下载的源码中文乱码问题
    WEB 基础知识(一)
  • 原文地址:https://www.cnblogs.com/canglongdao/p/14113323.html
Copyright © 2011-2022 走看看