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