你已經在Windows下搭建好了Pycharm集成開發工具+Python3.6的版本及相關的第三方包
Step1:框架全圖
Step2:框架的結構說明
項目結構
- manage.py 用來控制程序的
python manage.py runserver #啟動服務命令
python manage.py shell #進入shell腳本模式命令
- app/__init__ 初始化文件
初始化整個Flask對象,以及Flask所用的各種插件,並返回一個app應用
- app/settings 項目配置文件
配置整個項目運行環境
- app/ext 項目的擴展庫
第三方擴展庫打包處理
- app/views 視圖函數
處理業務邏輯
協調模塊和模型之間的關系
- app/models 模型
定義模型結構
獲得數據庫中的表的關系映射
db.create_all() 創建數據庫
db.drop_all() 刪除數據庫
- doc 框架說明文檔
- static 用於存放靜態資源的目錄
- templates 用於存放模板資源的目錄
- migrations 遷移目錄
數據遷移
- 將模型映射到數據庫
- 使用flask-migrate庫
- 安裝與使用
pip install flask-migrate
初始化,需要使用app和db進行初始化,migrate=Migrate(app,db)
配置flask-script 的命令
manager.add_command('db',MigrateCommand)
- 指令使用
python manage.py db init
init 初始化指令,僅可調用一次
python manage.py db migrate
migrate指令用於生成遷移文件
內部遷移文件使用了鏈表來關聯關系
--message MSG 對遷移添加日志說明
python manage.py db upgrade
upgrade指令用於執行遷移文件
數據庫內容升級
python manage.py db downgrade
downgrade指令用於執行遷移文件
數據庫內容降級,相當於後悔藥
- help 幫助文檔
Step3:大概的調用邏輯如下說明
<1> App/views.py 文件引入了models.py【模型包中的模型對象】andext.py【拓展包中的db 對象】
<2> App/__init__.py 文件引入了views.py【視圖包裡面的藍圖】,ext.py【引入拓展包並在拓展包中做初始化工作】,settings.py【引入設置包並做數據庫連接和環境配置及資源目錄的設置工作】。最後初始化完成app 應用後,返回一個app應用。
<3> manage.py 是入口文件,拿到上一步驟中返回的app應用,最後就是啟動服務。
Step4:服務啟動後訪問首頁效果
Step5:針對上圖看看路由與頁面的源碼
其實是去渲染Templates/home.html頁面
App/views.py:
@blue.route('/index/',methods=['GET','POST'])
def index():
return render_template('home.html')
頁面主要是登錄與退出的兩個鏈接
Templates/home.html 頁面源碼為:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h2>welcome back:{
{ username }}</h2>
<a href="{
{ url_for('second_blue.login') }}">login</a>
<a href="{
{ url_for('second_blue.logout') }}">logout</a>
</body>
<html>
歡迎關注【無量測試之道】公眾號,回復【領取資源】
Python+Unittest框架API自動化、
Python+Unittest框架API自動化、
Python+Pytest框架API自動化、
Python+Pandas+Pyecharts大數據分析、
Python+Selenium框架Web的UI自動化、
Python+Appium框架APP的UI自動化、
Python編程學習資源干貨、
Vue前端組件化框架開發、
資源和代碼 免費送啦~
文章下方有公眾號二維碼,可直接微信掃一掃關注即可。
備注:我的個人公眾號已正式開通,致力於IT互聯網技術的分享。
包含:數據分析、大數據、機器學習、測試開發、API接口自動化、測試運維、UI自動化、性能測試、代碼檢測、編程技術等。
微信搜索公眾號:“無量測試之道”,或掃描下方二維碼:
添加關注,讓我們一起共同成長!