Flask SQLAlchemy 參數設置

[Flask教學] Flask-SQLAlchemy 參數設置(進階)

發佈於 發佈留言分類: 04 Python Flask 教學10 所有文章

一. 前情提要 1.本篇最後更新於 2020/10/16,如有部分內容失效,麻煩請告知,我會立即更新! 2.作者環境配置: Flask-SQLAlchemy == 2.4.4 Python == 3.7.7 Flask == 1.1.2 3.參考官方原文進行編譯: Configuration — Flask-SQLAlchemy Documentation (2.x) 二. 先建立簡單的 Flask 設置 底下是一個最基礎的 Flask 搭配 Flask-sqlalchemy 套件的參數設置,使用 app.config 來載入 Flask-sqlalchemy 的參數,設定上最少會需要放置 db 的連線位置,這個簡單的案例是使用 sqlite 來連線,接下來會再介紹其他的連線方式: 三. 實 […]

flask cache redis Max行銷誌

【 Flask 教學】Flask 實作 Cache + Redis & Nginx Cache 配置

發佈於 發佈留言分類: 04 Python Flask 教學10 所有文章

什麼是 Cache (快取) 介紹 Cache (快取) 的目的是節省網站的載入時間和流量,此篇文章會實作兩種 Cache 機制的方法: 1. Server 跟瀏覽器之間的 Cache 機制 當使用者第一次瀏覽網站時,可以讓瀏覽器將靜態檔案 (如:CSS、圖片檔、JS) 快取,當使用者第二次瀏覽時,圖片就可以直接從瀏覽器的快取裡面抓取。而這屬於 Server 跟瀏覽器之間的 Cache 機制,將會在第一部分 Nginx 如何設定 Cache 配置跟大家介紹。 2. Server side 的 Cache 機制 另外一種 Server side 的 Cache 是,當使用者第一次瀏覽網站的首頁時,Server 將首頁的資訊從資料庫撈出來後,並存在 Server 上的某個地方像是 Redis,當 […]

Flask 單元測試 unittest_Max行銷誌

【Flask 教學】實作 Flask 單元測試 Unit Test

發佈於 1 則留言分類: 04 Python Flask 教學10 所有文章

一. 環境設置 Flask 套件選擇和安裝 此次選擇使用的是 Flask-Testing,此套件將 Python 內建的 Unittest 進行封裝,相較於 pytest 優點在建立 create_app 的時候非常簡單易懂。 Flask-Testing — Flask-Testing 0.3 documentation 此次架構配置 會在專案中建立新資料夾 tests,並將所有的單元測試 py 檔放置於此資料夾內,此次架構上會搭配 Flask 工廠模式使用。 有關於 flask 工廠模式的好處和使用方法,可以參考此篇:【Flask 教學】實作 Flask Application Factories 工廠模式 | Max行銷誌 二. 進入主題 Flask 實作單元測試 實作步驟一. 配置 m […]

flask application factory 工廠模式_Max行銷誌

【Flask 教學】實作 Flask Application Factories 工廠模式

發佈於 發佈留言分類: 04 Python Flask 教學10 所有文章

ㄧ. Flask 為什麼要使用工廠模式? 當需要切換測試環境,或是有許多不同版本配置的 Flask Application 時,官方推薦使用 Application Factories。Application Factories — Flask Documentation (1.1.x) 1. 什麼是 工廠模式 設計模型 關於工廠模式 – 維基百科 的補充: 建立物件可能會導致大量的重複代碼,可能會需要複合物件存取不到的資訊,也可能提供不了足夠級別的抽象,還可能並不是複合物件概念的一部分。工廠方法模式通過定義一個單獨的建立物件的方法來解決這些問題。 簡單來說就是利用工廠模式的設計,當傳入不同參數時,會取得不同的實例。 2. 舉個 Flask 工廠模式的例子 當使用工廠模式後 ma […]

flask-blueprints-Max行銷誌

【Flask 教學】實作 Flask Blueprints 和淺談 Circular Imports

發佈於 2 則留言分類: 04 Python Flask 教學10 所有文章

一. 從簡單的 Flask 開始 首先來看一個大家熟悉且單純的 Flask,運行 flask run 後,連線 http://127.0.0.1:5000/ 後,在網頁上會得到 foo 的字詞 app.py 1.當 Flask 架構越來越龐大… 但是隨著網站架構越來越龐大,把所有的 route 都放在 main.py 裡面,在維護上會有很大的困擾,所以我們開始試著把部分功能切到另外一個 py 檔案裡。 開始將 route 切出來,不再都集中在 app.py 內: app.py userdata.py 運行 flask 連線 http://127.0.0.1:5000/auth 會發生 Not Found 的錯誤 會發生這個原因,是因為 import 循環衝突的問題造成,如下圖當運行 flas […]