跳到主要內容

發表文章

目前顯示的是 2026的文章

初探 Flask-WTF

  前言 之前 [初探 Flask] ,我們學習如何讓 HTML 表單與 Flask 伺服器協同工作,並取得使用者在表單中輸入的資料。今天,我們將在此基礎上進行改進,使用名為 Flask-WTF 的 Flask 擴充功能來建立表單。           Flask-WTF 是 Flask 框架整合 WTForms 的擴充套件。在傳統的 Flask 開發中,處理表單需要手動寫 HTML、在後端用 request.form.get() 一個個撈資料、手動寫樣式進行資料驗證(驗證長度、格式、是否必填等)。Flask-WTF 它比簡單的 HTML 表單有許多優勢。 用類別(Class)來定義表單欄位。你在 Python 裡定義好,前端就能自動渲染出對應的 HTML。 驗證表單 - 確保使用者在所有必填欄位中都以正確的格式輸入資料。例如,檢查使用者輸入的電子郵件地址是否包含“@”符號和末尾的“.”。所有這些都無需編寫您自己的驗證程式碼。 內建 CSRF 防護 - CSRF 代表跨站請求偽造,這是一種可以針對網站表單發起的攻擊,它會迫使您的使用者執行非預期操作(例如,向陌生人轉帳),這是原生的 HTML Form 沒有內建的安全機制。 參考 : https://flask-wtf.readthedocs.io/en/1.2.x/#features WTForms 是一個靈活的 Python Web 開發表單驗證和渲染庫。它可以與任何 Web 框架和模板引擎一起搭配使用。支援資料驗證、CSRF 保護、多語系 (I18N) 等功能。 參考 : https://wtforms.readthedocs.io/en/3.2.x/ 安裝所需套件 pip3 install -U Flask-WTF 使用 Email() 驗證器需要額外依賴 Python 的 email-validator 套件 pip3 install email-validator 一個簡單版的 Flask 專案 範例 Python from dbm import error import requests from flask import Flask, request, render_template, redirect, u...