程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python Flask 輕量web框架

編輯:Python

前置條件:

你已經在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自動化、性能測試、代碼檢測、編程技術等。

微信搜索公眾號:“無量測試之道”,或掃描下方二維碼:

   

  添加關注,讓我們一起共同成長!


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved