[Day26] 重设密码API – views

哈罗大家好,今天要做的是重设密码API,先附上我的程序码~~

程序码

@csrf_protect
def reset(request): #重设密码
    if request.method == "POST":
        try:
            data = json.loads(bytes.decode(request.body,"utf-8"))
            old_pw = data['old_password']
            if request.user.is_authenticated is True and request.user.check_password(old_pw) is True:
                id = request.user.id
                user = UserProfile.objects.get(id = id)
                new_pw = data['password']
                user.set_password(new_pw)
                user.save()
                message = {"status":"0"}
            else:
                message = {"status":"1"}
        except Exception as e:
            print(e)
            message = {"status":"1"}
    return JsonResponse(message)

想法及介绍function

这边说说我的想法,因为重设密码的选项,通常是帐号登入之後,所以这边我首先是判断帐号是否为已验证,再来是再检查密码一次if request.user.is_authenticated is True and request.user.check_password(old_pw) is True:,如果已验证那代表已登入,旧密码也再次确认过了,这时候因为是登入的状态,所以我们可以用request.user.id这样的方式查询使用者的id,我拿着目前登入使用者的id,去後台查询、比对,找目前登入使用者在後台的资料user = UserProfile.objects.get(id = id),然後重新设定密码user.set_password(new_pw),并储存user.save(),大致上的是这样~~~ 。

我们在views写完逻辑,老样子,相信你一定知道明天要干嘛了,那麽我们就明天见啦~~ ㄅㄅ


<<:  [Day 26] Final Project (2/5) — 准备开始

>>:  Day26-保护鲸鱼人人有责(一)

树状结构转线性纪录-孩子标记法 - DAY 13

孩子标记 记录 子索引数量(几个孩子),子索引值(孩子是谁) 完整树状转化 参考来源 大话资料结构 ...

IT 铁人赛 k8s 入门30天 -- day15 k8s Workload 简介

前言 今天要讲的是 k8s 丛集对於 Workload 管理做讲解 Pod 的管理 以下将会解释一些...

[Day27] swift & kotlin 上架篇!(1) 小鸡BB-游戏上架流程-swift

上架 终於来到上架的部分了 我们要把写好的APP上架到商店给人下载 一起来看看怎麽处理吧! Appl...

《正因为很简单,就迷失在茫茫人海》

“我们做专题报导,深入报导,比别人花更多时间去找资料,查证。 做那麽爽还不是三分钟就被别的新闻台抄去...

Day 4:谈谈 docker 的 restart policy

经过昨天的一番努力,我们已经可以在服务无法存取的时候收到通知,那麽今天就来看看另一个议题:服务的重启...