Flask简介与简单项目操作流程
生活随笔
收集整理的這篇文章主要介紹了
Flask简介与简单项目操作流程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Flask框架簡介
Flask誕生于2010年,是Armin ronacher(人名)用Python語言基于Werkzeug工具箱編寫的輕量級Web開發框架。它主要面向需求簡單的小應用。Flask本身相當于一個內核,其他幾乎所有的功能都要用到擴展(郵件擴展Flask-Mail,用戶認證Flask-Login),都需要用第三方的擴展來實現。比如可以用Flask-extension加入ORM、窗體驗證工具,文件上傳、身份驗證等。Flask沒有默認使用的數據庫,你可以選擇MySQL,也可以用NoSQL。其 WSGI 工具箱采用Werkzeug(路由模塊),模板引擎則使用Jinja2。可以說Flask框架的核心就是Werkzeug和Jinja2。Python最出名的框架要數Django,此外還有Flask、Tornado等框架。雖然Flask不是最出名的框架,但是Flask應該算是最靈活的框架之一,這也是Flask受到廣大開發者喜愛的原因。
總結1:Flask也是一款MVC框架
Flask誕生于2010年,是Armin ronacher(人名)用Python語言基于Werkzeug工具箱編寫的輕量級Web開發框架。它主要面向需求簡單的小應用。Flask本身相當于一個內核,其他幾乎所有的功能都要用到擴展(郵件擴展Flask-Mail,用戶認證Flask-Login),都需要用第三方的擴展來實現。比如可以用Flask-extension加入ORM、窗體驗證工具,文件上傳、身份驗證等。Flask沒有默認使用的數據庫,你可以選擇MySQL,也可以用NoSQL。其 WSGI 工具箱采用Werkzeug(路由模塊),模板引擎則使用Jinja2。可以說Flask框架的核心就是Werkzeug和Jinja2。Python最出名的框架要數Django,此外還有Flask、Tornado等框架。雖然Flask不是最出名的框架,但是Flask應該算是最靈活的框架之一,這也是Flask受到廣大開發者喜愛的原因。
總結1:Flask也是一款MVC框架
總結2:核心為Werkzeug,這是由python語言編寫的遵守WSGI協議的一個包
- Flask是一款MVC框架,主要是從模型、視圖、模板三個方面對Flask框架有一個全面的認識,通過完成作者-讀書功能,先來熟悉Flask框架的完整使用步驟。
- 操作步驟為:
- 1.創建項目
- 2.配置數據庫
- 3.定義模型類
- 4.定義視圖并配置URL
- 5.定義模板
環境安裝
- 使用虛擬環境安裝Flask,可以避免包的混亂和版本的沖突,虛擬環境是Python解釋器的副本,在虛擬環境中你可以安裝擴展包,為每個程序單獨創建的虛擬環境,可以保證程序只能訪問虛擬環境中的包。而不會影響系統中安裝的全局Python解釋器,從而保證全局解釋器的整潔。
- 注意:Werkzeug對python3的支持并不好,所以如果使用Flask框架推薦使用python2
-
虛擬環境使用virtualenv創建,可以查看系統是否安裝了virtualenv:
virtualenv --version -
運行如下命令安裝虛擬環境的應用
- 如果提示找不到mkvirtualenv命令,須配置環境變量:
- 創建虛擬環境(ubuntu里須在聯網狀態下)
- 進入虛擬環境
- 退出虛擬環境
- 在虛擬環境中使用pip命令安裝Flask包
1、創建項目
- 在pycharm點擊菜單File->New Project..
- .
- 在彈出的New Project窗口中,選擇項目類型為Flask,在Location中填寫項目路徑,在Interpreter中選擇上一節創建的虛擬環境,然后點擊create按鈕
- 在彈出的Open Project窗口中選擇打開的方式,可以在新窗口,也可以在當前窗口,選擇后點擊ok按鈕
- 項目創建完成,在pycharm的project面板顯示目錄結構如下圖
- 文件名稱與項目名稱一致,當前為test1.py
- 目錄static用于存放靜態文件
- 目錄templates用于存放模板文件
- 點擊pycharm右上角的綠色三角可以啟動項目,如下圖
- 運行效果如下圖
- 修改啟動代碼如下,設置debug=True,再改動代碼時服務器會自動重啟
- 關閉服務器后再重新啟動就會生效
設計模型
- 此例中設計作者、圖書兩個模型類,作者-圖書為一對多關系
- 在mysql中創建數據庫test1
2、配置mysql數據庫
- 安裝包flask-mysqldb,用于Flask與mysql交互
- 安裝包Flask-SQLAlchemy,用于ORM轉換
- 打開test1.py文件
- 引入類SQLAlchemy
- 在app下面編寫數據庫配置
3、定義模型類
- 定義類如下
數據操作
- 在啟動程序中創建表
- 繼續編寫代碼,添加示例數據
- 點擊運行啟動服務器,此時可以到mysql中查詢表和數據,表已經被創建,并且數據也加入成功
編寫視圖
- 視圖的本質就是函數
- 打開test1.py
- 定義函數authorlist,查詢所有作者信息
- 定義函數booklist,接收作者編號,查詢指定作者的所有圖書
4、URL配置
- flask的運行過程與django的過程是一樣的,如下圖
- 定義完成視圖函數后,需要為函數配置url,才可以通過瀏覽器請求到這個函數
- 為authorlist配置url
- 運行服務器,在瀏覽器中可以查看訪問效果,訪問作者列表的地址如下
- 為booklist配置url,注意從地址中獲取參數
- 訪問圖書列表的地址如下,其中1表示作者的編號
5、定義模板
- 與django一樣,html可以當作模板使用,可以編寫html、css、js代碼,也可以編寫模板語言的代碼
- 不同的是flask使用的模板語言名稱為jiaja2,這種語言與django模板語言十分相似
- 在test1.py文件上部引入模板函數
- 修改hello_world函數如下,調用模板
- 在templates目錄下創建hello.html文件,內容如下
- 在瀏覽器中請求效果如下圖
- 可以通過函數向模板中傳遞數據,修改代碼如下
- 修改模板代碼如下
- 刷新瀏覽器,運行效果如下圖
作者列表
- 修改authorlist函數,調用模板
- 編寫模板alist.html,代碼如下
圖書列表
- 修改authorlist函數,調用模板
- 編寫模板blist.html,代碼如下
- 本示例完成后效果如下圖,在首頁中顯示所有的作者信息
- 通過作者鏈接,可以顯示所有的圖書信息
總結
以上是生活随笔為你收集整理的Flask简介与简单项目操作流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python抽象基类的作用_Python
- 下一篇: 元类及创建元类的方法(面试用