Flask01 第一個flask項目

參考地址://github.com/miguelgrinberg/microblog/tree/v0.1

flask環境【蘋果M1】

添加虛擬環境

python3 -m venv venv

使用這個命令來讓Python運行 venv 包,它會創建一個名為 venv 的虛擬環境,虛擬環境名稱為venv,我習慣在項目目錄中創建了名為 venv 的虛擬環境,所以無論何時 cd 到一個項目中,都會找到相應的虛擬環境。

不管你用什麼方法創建虛擬環境,創建完畢之後還需要激活才能夠進入這個虛擬環境。 要激活你的全新虛擬環境,需使用以下命令:

source venv/bin/activate

激活一個虛擬環境,終端會話的環境配置就會被修改(前面會有小括弧,虛擬環境名稱),之後你鍵入 python 的時候,實際上是調用的虛擬環境中的Python解釋器。

此外,終端提示符也被修改成包含被激活的虛擬環境的名稱的格式。
這種激活是臨時的和私有的,因此在關閉終端窗口時它們將不會保留,也不會影響其他的會話。
那麼,當你需要同時打開多個終端窗口來調試不同的應用時,每個終端窗口都可以激活不同的虛擬環境而不會相互影響。
成功創建和激活了虛擬環境之後,你可以安裝Flask了,命令如下:

pip3 install flask

之前已經下載過flask了,提示Requirement already satisfied。正常情況下是successfull.

flask應用

項目結構如圖

python文件夾下有__init__.py,就是一個python包,可以被import導包。 app 包由app目錄和 init.py 腳本來定義構成,並在 from app import routes 語句中被引用。

在Flask中,應用程式路由的處理邏輯被編寫為Python函數,稱為視圖函數。 視圖函數被映射到一個或多個路由URL,以便Flask知道當客戶端請求給定的URL時執行什麼邏輯。
app/routes.py中的第一個視圖函數的程式碼:

from app import app


@app.route('/')
@app.route('/index')
def index():
    return 'Hello Worold! index ...lalala'

兩個裝飾器,它們將URL / 和 /index 索引關聯到這個函數。 這意味著,當Web瀏覽器請求這兩個URL中的任何一個時,Flask將調用該函數並將其返回值作為響應傳遞迴瀏覽器。

Flask應用程式實例被稱為 app ,是 app 包的成員。 from app import app 語句從 app 包導入其成員 app 變數。

啟動文件flaskProject.py只有一行程式碼,文件名也有叫app.py 的也有叫manager.py的

from app import app

在運行之前,需要通過設置FLASK_APP 環境變數告訴Flask如何導入它:

export FLASK_APP=flaskProject.py

提醒一下你,在終端會話中直接設置的環境變數不會永久生效,因此你不得不在每次新開終端時設定 FLASK_APP 環境變數,從 1.0 版本開始,Flask 允許你設置只會在運行 flask 命令時自動註冊生效的環境變數,要實現這點,你需要安裝
python-dotenv :

pip3 install python-dotenv

此時,在項目的根目錄下新建一個名為 .flaskenv 的文件,其內容是:

FLASK_APP=microblog.py

通過此項設置, FLASK_APP 就可以自動載入了。

如果你鍾愛手動設定環境變數,那也不錯,只是記得每次啟動終端後要設定它。命令為:
export FLASK_APP=flaskProject.py

配置了.flaskenv環境的運行效果如下:

Tags: