06 08 修改密碼

2021-10-09 01:27:04 字數 2279 閱讀 1612

模型 admin

表單 pwdform

請求方法 get post

訪問控制  @admin_login_req

涉及檔案

可以進一步完善處:

舊密碼的檢查和新密碼的生成

class pwdform(flaskform):

old_pwd = passwordfield(

label="舊密碼",

validators=[

datarequired("請輸入舊密碼~~!"),

# length("密碼長度必須大於%(max)d且小於%(min)d")

],description="舊密碼",

render_kw=

)new_pwd = passwordfield(

label="新密碼",

validators=[

datarequired("請輸入新密碼~~!"),

# length("密碼長度必須大於%(max)d且小於%(min)d")

],description="新密碼",

render_kw=

)re_new_pwd = passwordfield(

label="確認密碼",

validators=[

datarequired("請再次輸入新密碼~~!"),

equalto("new_pwd", message="兩次密碼不一致,請重新輸入!")

# length("密碼長度必須大於%(max)d且小於%(min)d")

],description="確認密碼",

render_kw=

)submit = submitfield(

"修改",

render_kw=

)def validate_old_pwd(self, field): # 也可在檢視函式中實現

from flask import session

pwd = field.data

name = session["admin"]

admin = admin.query.filter_by(name=name).first()

if not admin.check_pwd(pwd):

raise validationerror("舊密碼錯誤!")

@admin.route("/pwd", methods=["get", "post"])

@admin_login_req

def pwd():

form = pwdform()

if form.validate_on_submit():

data = form.data

admin = admin.query.filter_by(name=session["admin"]).first()

from werkzeug.security import generate_password_hash

admin.pwd = generate_password_hash(data["new_pwd"])

db.session.add(admin)

db.session.commit()

flash("修改密碼成功,請重新登入!", "ok")

return redirect(url_for("admin.logout")) # 修改密碼後重新登入

return render_template("admin/pwd.html", form=form)

個人資料

修改密碼

×操作成功!}×

操作失敗!

微電影管理系統×操作成功!}×

操作失敗!

}

頁面效果:

軟考筆記0608

專案績效跟蹤 外部變更請求 變更控制。評價軟體產品,以確定其使用意圖的適合性。監控進展,決定進度和計畫的狀態,或評價達到目標所用管理方法的有效性。需包括產品描述要求 使用者文件描述要求 程式,資料要求。指在軟體產品發布後,因修正錯誤 提公升效能或其他屬性而進行的軟體修改。包括的型別如下 a 更正性維...

mysql修改密碼記錄 MySQL修改密碼方法總結

方法一 使用phpmyadmin,這是最簡單的了,修改mysql庫的user表,不過別忘了使用password函式。方法二使用mysqladmin,這是前面宣告的乙個特例。mysqladmin u root p password mypasswd 輸入這個命令後,需要輸入root的原密碼,然後roo...

Oracle 忘記密碼,密碼修改

今天早上起床本來打算使用oracle來複習一下知識的,可是用的時候才發現,oracle使用者名稱的密碼早就忘了,所以就出現了下面這一幕。話不多說,直接說解決方法。1 開啟cmd小黑框或其他可以使用sqlplus命令的工具,linux下的桌面系統應該是終端 2 直接輸入 sqlplus nolog 3...