Python Flask框架入門教學
Flask是一個簡單易用的Python Web框架,它更注重靈活性和輕量級性,讓程式設計師可以按照自己的喜好進行建置。本文將為大家介紹Flask的基本概念、安裝和使用,並透過一個簡單的範例來示範如何使用Flask建立一個網路應用程式。
Flask是一個基於Python的輕量級Web應用框架,它不需要使用任何特殊的工具或函式庫,只需要依賴Python本身就可以完成建置和部署。同時,Flask也提供了一組靈活的工具,可以輕鬆地建立出符合自己需求的Web應用程式。因此,Flask被廣泛應用於中小型Web應用程式開發。
在開始使用Flask之前,我們需要先安裝Flask。首先開啟終端,輸入以下指令:
pip install flask
該指令會自動從Python的軟體倉庫下載和安裝Flask。等待幾分鐘後,Flask就安裝完畢了。可以輸入以下指令來檢查Flask是否已經成功安裝:
import flask
如果沒有報錯,就表示Flask已經成功安裝了。
在開發Flask應用程式時,你需要了解一些基本概念:
下面,我們來建立一個簡單的Flask Web應用程式:
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' if __name__ == '__main__': app.run()
在上述程式碼中,我們先匯入了Flask模組,並建立了一個Flask物件。然後,使用app.route()
裝飾器定義了一個路由,該路由需要匹配的URL為'/'
。再定義一個hello_world()
視圖函數,用於處理請求,最後使用app.run()
方法啟動應用程式。
在執行該腳本後,會在本機上建立一個Web伺服器,可以在瀏覽器中輸入http://localhost:5000/
來查看結果。顯示出來的結果應該是Hello, World!
。
Flask中的路由使用app.route()
裝飾器來定義。 app.route()
裝飾器中的參數為路由URL,可以使用字串或正規表示式來定義。以下舉個例子,來說明不同路由URL的定義方法:
@app.route('/') def index(): return 'Index Page' @app.route('/hello') def hello(): return 'Hello, World!' @app.route('/user/<username>') def show_user_profile(username): return f'User {username}' @app.route('/post/<int:post_id>') def show_post(post_id): return f'Post {post_id}'
在上述程式碼中,我們定義了四個不同的路由。 '/'
和'/hello'
分別定義了兩個固定URL,它們分別回傳了Index Page
和Hello, World!
。 '/user/d6025a37ea8687b5422f951f7288bdc5'
和'/post/9db0aba988f93e6a98ca22aea208c49f'
則是具有變數值的動態路由,可以配對到不同的URL,用於顯示不同的內容。
在許多Web應用程式中,需要根據使用者要求的不同來動態展示不同的內容,這時就需要使用Flask中的模板。在Flask中,預設使用的是Jinja2模板引擎。
Flask中的範本需要放在應用程式的templates
目錄下。下面,我們來看一個簡單的模板使用範例:
from flask import Flask, render_template app = Flask(__name__) @app.route('/hello/<name>') def hello(name=None): return render_template('hello.html', name=name) if __name__ == '__main__': app.run()
在上述程式碼中,我們使用了render_template()
函數來呼叫模板。模板檔案的名稱為hello.html
,它需要渲染一個變數name
。我們使用render_template()
函數的第二個參數,將變數值傳遞給模板。在模板檔案中,透過使用{{ }}
語法來輸出變數值。
在Flask中,靜態檔案通常指的是JavaScript、CSS和映像等檔案。這些靜態文件一般不需要動態處理,因此也不需要經常更新。 Flask中的靜態檔案需要放置在應用程式的static
目錄下。
下面是一個簡單的範例:
from flask import Flask, render_template app = Flask(__name__) @app.route('/hello') def hello(): return render_template('hello.html') if __name__ == '__main__': app.run()
在上述範例中,我們使用url_for()
函數來載入靜態檔案。在範本檔案中,使用url_for()
函數時需要依照下列方式來呼叫:
{{ url_for('static', filename='style.css') }}
其中,'static'
表示靜態檔案目錄名稱,'filename'
為靜態檔案的名稱。在實際環境中,應該將'style.css'
替換為我們所需的靜態檔案的名稱。
到此,我們已經了解了Python Flask框架的基本概念、安裝、路由、模板和靜態檔案等方面的知識。希望大家能透過本文的介紹,快速上手使用Flask框架,開發自己的Python Web應用程式。
以上是Python Flask框架入門教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!