模型 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...