用flask編寫本身的博客(2)

本文對blog項目的文件結構進行簡單說明
app ---> 程序主目錄
api-->測試中的api
auth -->登陸認證文件
main-->主入口文件
static--> 靜態文件
template-->html 模板文件
migrations--> SQLAlchemy生成文件,用於數據遷移
test-->selenuim測試文件html

用flask編寫本身的博客(2)

建立flask實例:

用flask編寫本身的博客(2)
加載須要加載的第三方插件,如csrf,bootstrapgit


app.init中設置blueprint註冊全部的頁面

用flask編寫本身的博客(2)

其中static_folder指向的就是app下的static目錄,在頁面中用url_for()進行引用github

auth藍圖建立(main藍圖相同)

用flask編寫本身的博客(2)
包含auth包裏面的全部模塊(表單和試圖)
用flask編寫本身的博客(2)
views中寫頁面中須要的一些後臺函數
用flask編寫本身的博客(2)flask

一、利用flask_login中的current_user判斷用戶是否登陸(已登陸current_user包含用戶ID,利用hasattr函數進行判斷,並跳轉到指定頁面)

二、form.validate_on_submit判斷用戶是否提交表單(也能夠用methods中的post來判斷)

三、登陸認證過程,並根據狀況返回不一樣的flash閃現消息,認證成功,跳轉到指定頁面

selenium 單元測試

調用的是Chrome瀏覽器進行測試,須要Chromedriver.exe,下載自行百度(下圖是gif動畫,貌似不能用-bootstrap

用flask編寫本身的博客(2)
用flask編寫本身的博客(2)

views模塊中的代碼大同小異,僅列舉一個,後期對一些函數作單獨的說明api

第三彈:對jinja2 網頁模板進行分析,使用bootstrap+wtf快速佈局(待續)瀏覽器

第四彈,整個項目的總結以及擴展,qrcode等一些小工具的介紹(...)app

用flask編寫本身的博客(1)
項目源碼地址:Githubide

相關文章
相關標籤/搜索