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