摘要:再增加一個修改密碼的頁面,界面和注冊的頁面是一致的,因此直接對做一些簡單修改即可,如下修改密碼頁面對應的是,視圖函數(shù)為,設計好頁面后先直接即可,以便看看效果。
現(xiàn)在我們來設計一個用戶中心的頁面,顯示用戶相關的信息,由于我們的Q&A demo比較簡單,所以顯示的內(nèi)容也不用太多,我們來顯示用戶的頭像、注冊時間、發(fā)表的問題數(shù)和評論數(shù),設計一個user.html,界面如下:
用戶的頭像或其他信息都可以通過上下文管理器返回的login_user去獲取,發(fā)布問答和評論數(shù)直接在模板里使用length過濾器,之前的文章都有類似的部分。這個頁面通過點擊導航條的用戶進去,對應的url是"/user/",視圖函數(shù)為user_center,直接render即可。
再增加一個修改密碼的頁面security.html,界面和注冊的頁面是一致的,因此直接對register.html做一些簡單修改即可,如下:
修改密碼頁面對應的url是"/user/security/",視圖函數(shù)為security,設計好頁面后先直接render即可,以便看看效果。通過點擊user頁面的修改密碼進入,因此對user頁面的修改密碼這個button增加onclick屬性如下:
此時頁面已經(jīng)可以發(fā)送POST數(shù)據(jù)了,再為視圖函數(shù)添加POST方法,最終security視圖函數(shù)如下:
def security(): if request.method == "GET": return render_template("security.html") else: o_password = request.form.get("o_password") password1 = request.form.get("password1") password2 = request.form.get("password2") validate_func(o_password, password1, password2) g.user.password = generate_password_hash(password1) db.session.commit() return redirect(url_for("logout"))
獲取到舊的密碼以及兩次新的密碼之后,對其進行驗證,例如舊密碼是否正確,新密碼長度是否足夠、兩次是否一樣等,我這里用validate_func做的驗證(實際還沒寫這個函數(shù)),驗證成功之后直接用g.user.password = generate_password_hash(password1)修改密碼,并用db.session.commit()提交到數(shù)據(jù)庫,之后對當前用戶進行注銷,用戶使用新密碼即可登錄,這一部分就完成了。
文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/41299.html
摘要:微服務架構說明簡介微服務是一種架構風格,一個大型復雜軟件應用由一個或多個微服務組成。系統(tǒng)中的各個微服務可被獨立部署,各個微服務之間是松耦合的。每個微服務僅關注于完成一件任務并很好地完成該任務。 微服務架構說明.md 簡介 微服務是一種架構風格,一個大型復雜軟件應用由一個或多個微服務組成。系統(tǒng)中的各個微服務可被獨立部署,各個微服務之間是松耦合的。每個微服務僅關注于完成一件任務并很好地完成...
摘要:微服務架構說明簡介微服務是一種架構風格,一個大型復雜軟件應用由一個或多個微服務組成。系統(tǒng)中的各個微服務可被獨立部署,各個微服務之間是松耦合的。每個微服務僅關注于完成一件任務并很好地完成該任務。 微服務架構說明.md 簡介 微服務是一種架構風格,一個大型復雜軟件應用由一個或多個微服務組成。系統(tǒng)中的各個微服務可被獨立部署,各個微服務之間是松耦合的。每個微服務僅關注于完成一件任務并很好地完成...
閱讀 2916·2021-10-27 14:19
閱讀 546·2021-10-18 13:29
閱讀 1143·2021-07-29 13:56
閱讀 3560·2019-08-30 13:19
閱讀 1937·2019-08-29 12:50
閱讀 1062·2019-08-23 18:16
閱讀 3530·2019-08-22 15:37
閱讀 1907·2019-08-22 15:37