摘要:再增加一個修改密碼的頁面,界面和注冊的頁面是一致的,因此直接對做一些簡單修改即可,如下修改密碼頁面對應的是,視圖函數為,設計好頁面后先直接即可,以便看看效果。
現在我們來設計一個用戶中心的頁面,顯示用戶相關的信息,由于我們的Q&A demo比較簡單,所以顯示的內容也不用太多,我們來顯示用戶的頭像、注冊時間、發表的問題數和評論數,設計一個user.html,界面如下:
用戶的頭像或其他信息都可以通過上下文管理器返回的login_user去獲取,發布問答和評論數直接在模板里使用length過濾器,之前的文章都有類似的部分。這個頁面通過點擊導航條的用戶進去,對應的url是"/user/",視圖函數為user_center,直接render即可。
再增加一個修改密碼的頁面security.html,界面和注冊的頁面是一致的,因此直接對register.html做一些簡單修改即可,如下:
修改密碼頁面對應的url是"/user/security/",視圖函數為security,設計好頁面后先直接render即可,以便看看效果。通過點擊user頁面的修改密碼進入,因此對user頁面的修改密碼這個button增加onclick屬性如下:
此時頁面已經可以發送POST數據了,再為視圖函數添加POST方法,最終security視圖函數如下:
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做的驗證(實際還沒寫這個函數),驗證成功之后直接用g.user.password = generate_password_hash(password1)修改密碼,并用db.session.commit()提交到數據庫,之后對當前用戶進行注銷,用戶使用新密碼即可登錄,這一部分就完成了。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/41299.html
摘要:微服務架構說明簡介微服務是一種架構風格,一個大型復雜軟件應用由一個或多個微服務組成。系統中的各個微服務可被獨立部署,各個微服務之間是松耦合的。每個微服務僅關注于完成一件任務并很好地完成該任務。 微服務架構說明.md 簡介 微服務是一種架構風格,一個大型復雜軟件應用由一個或多個微服務組成。系統中的各個微服務可被獨立部署,各個微服務之間是松耦合的。每個微服務僅關注于完成一件任務并很好地完成...
摘要:微服務架構說明簡介微服務是一種架構風格,一個大型復雜軟件應用由一個或多個微服務組成。系統中的各個微服務可被獨立部署,各個微服務之間是松耦合的。每個微服務僅關注于完成一件任務并很好地完成該任務。 微服務架構說明.md 簡介 微服務是一種架構風格,一個大型復雜軟件應用由一個或多個微服務組成。系統中的各個微服務可被獨立部署,各個微服務之間是松耦合的。每個微服務僅關注于完成一件任務并很好地完成...
閱讀 2912·2021-10-27 14:19
閱讀 543·2021-10-18 13:29
閱讀 1138·2021-07-29 13:56
閱讀 3556·2019-08-30 13:19
閱讀 1935·2019-08-29 12:50
閱讀 1060·2019-08-23 18:16
閱讀 3527·2019-08-22 15:37
閱讀 1905·2019-08-22 15:37