首頁  >  文章  >  後端開發  >  Python Flask框架入門教程

Python Flask框架入門教程

WBOY
WBOY原創
2023-06-17 08:48:172048瀏覽

Python Flask框架入門教學

Flask是一個簡單易用的Python Web框架,它更注重靈活性和輕量級性,讓程式設計師可以按照自己的喜好進行建置。本文將為大家介紹Flask的基本概念、安裝和使用,並透過一個簡單的範例來示範如何使用Flask建立一個網路應用程式。

  1. 什麼是Flask?

Flask是一個基於Python的輕量級Web應用框架,它不需要使用任何特殊的工具或函式庫,只需要依賴Python本身就可以完成建置和部署。同時,Flask也提供了一組靈活的工具,可以輕鬆地建立出符合自己需求的Web應用程式。因此,Flask被廣泛應用於中小型Web應用程式開發。

  1. 安裝Flask

在開始使用Flask之前,我們需要先安裝Flask。首先開啟終端,輸入以下指令:

pip install flask

該指令會自動從Python的軟體倉庫下載和安裝Flask。等待幾分鐘後,Flask就安裝完畢了。可以輸入以下指令來檢查Flask是否已經成功安裝:

import flask

如果沒有報錯,就表示Flask已經成功安裝了。

  1. Flask的基本概念

在開發Flask應用程式時,你需要了解一些基本概念:

  • 應用程式物件(Application Object):Flask應用程式的入口,負責啟動回應的HTTP服務。
  • 路由(Routing):定義URL路徑與處理函數之間的對映關係。
  • 視圖函數(View Function):是Flask應用程式中的處理請求的函數。
  • 請求上下文(Request Context):Flask為每個請求提供一個上下文,使得請求可以方便的存取請求相關的相關資訊。
  • 程式上下文(Application Context):Flask為每一個應用程式提供一個上下文,這個上下文會在整個應用程式的生命週期內保存應用程式的全域變數和一些設定資訊。
  1. Python Flask Web應用程式範例

下面,我們來建立一個簡單的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!

  1. Flask中的路由

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 PageHello, World!'/user/d6025a37ea8687b5422f951f7288bdc5''/post/9db0aba988f93e6a98ca22aea208c49f'則是具有變數值的動態路由,可以配對到不同​​的URL,用於顯示不同的內容。

  1. Flask中的範本

在許多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()函數的第二個參數,將變數值傳遞給模板。在模板檔案中,透過使用{{ }}語法來輸出變數值。

  1. Flask中的靜態檔案

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn