執行 Flask 應用程式
通過這個解釋,我們將學習如何在 Visual Studio Code 中設定 Flask 環境並建立 Flask 的基本應用程式。
建立一個基本的 Flask 應用程式
Flask 是 Python 的一個微型 Web 框架,也是著名的構建 Web 應用程式的框架。它還以建立 REST API 而聞名。
讓我們開始工作吧;在開始之前,你必須確保你的機器上安裝了 Python。如果需要安裝,可以到 Python 官網下載最新版本,然後選擇你的作業系統進行安裝。
執行安裝後,你必須檢查是否已成功將 Python 安裝到你的機器上。你可以轉到命令提示符並鍵入以下命令。
python --version
如果你的 Python 版本正在顯示,那麼我們將使用 Python 庫。我們使用 Visual Studio Code 是因為這是一個輕量級的編輯器,但你可以使用任何編輯器編寫程式碼。
建立新資料夾後,我們將在該目錄中開啟 VS Code 環境。那麼,建立虛擬環境,我們為什麼需要建立虛擬環境呢?
虛擬環境就像你機器上的一個隔離環境;如果你在使用不同版本的庫和依賴項的虛擬環境中使用 Python 指令碼,則所有這些都儲存在你機器上的一個容器化隔離環境中。
它不會干擾其他專案和系統設定,這就是為什麼它在處理嚴肅專案時很有用。現在我們將繼續設定我們的虛擬環境;我們需要按 Ctrl+` 來啟動終端。
完成後,我們可以鍵入以下命令來安裝虛擬環境模組。
pip install virtualenv
安裝成功後,我們需要建立一個虛擬環境並使用 virtualenv env
,env
是我們虛擬環境的名稱。當我們建立一個虛擬環境時,我們需要給它命名。
接下來,我們需要啟用環境或者進入環境;現在,我們將編寫以下命令。
\env\Scripts\activate.bat
我們已經進入了我們的虛擬環境;如果你使用的是 Mac OS,請使用以下命令啟用你的虛擬環境。
source env\bin\activate
現在我們可以繼續使用以下命令安裝 Flask。
pip install flask
成功安裝 Flask 後,我們在這個與我們的機器分開的虛擬環境中進行了所有安裝。我們需要建立我們的主應用程式;我們將其稱為 app.py
檔案。
我們將編寫最基本的 Flask 應用程式來演示如何快速獲取 Flask 應用程式並使其能夠執行網頁。
首先需要匯入 Flask,所以第一個 Flask 是小寫的,就是庫,第二個是大寫的,就是 Flask 的類。現在我們需要例項化這個 Flask
類和 app
等於 Flask(__name__)
引用當前應用程式的名稱。
現在我們需要建立一個叫做路由的東西,它只是我們應用程式中特定網頁的 URL 端點。我們將在這條路線@app.route('/')
中新增一個斜線,但你可以在此處新增任何你想要的內容。它可以是頁面名稱或端點名稱。
然後定義一個函式,名稱可以是任何你想要的,但你命名它是描述性的。在這種情況下,這是 index()
,表示我們網站的基本 URL;然後,我們將編寫一個返回字串的 return
語句。
最後一件事是通過 Python 直譯器執行應用程式; __name__=='__main__'
變數設定為 Python 檔案的實際名稱。這裡的 if
語句確保伺服器僅在指令碼直接從 Python 直譯器執行時執行。
我們跳到程式碼的最後一行;我們使用 run()
函式在我們的應用程式中執行本地伺服器。
在我們的例子中,我們只是將 debug
設定為 True
,所以這是一種瞭解錯誤的方法,但請記住,當你將 Flask 應用程式啟動到生產環境中時,你總是必須設定 debug
到 False
。
from flask import Flask
app=Flask(__name__)
@app.route('/')
def index():
return "Hi there, this is our basic flask app"
if __name__=='__main__':
app.run(debug=True)
現在我們可以繼續通過鍵入如下所示的命令來啟動我們的應用程式。當我們點選 Enter 並獲得一個 localhost 地址時,我們需要將其複製並貼上到我們放置 URL 的瀏覽器中。
輸出:
Hello! I am Salman Bin Mehmood(Baum), a software developer and I help organizations, address complex problems. My expertise lies within back-end, data science and machine learning. I am a lifelong learner, currently working on metaverse, and enrolled in a course building an AI application with python. I love solving problems and developing bug-free software for people. I write content related to python and hot Technologies.
LinkedIn