Flask
1.簡介
Python Flask是一個(gè)輕量級的Web應(yīng)用程序框架,它是使用Python編寫的,用于快速開發(fā)Web應(yīng)用程序和API。它的設(shè)計(jì)理念是簡單、易用和可擴(kuò)展。
以下是Python Flask的一些主要特點(diǎn):
- 輕量級:Flask沒有多余的庫和工具包,使其非常輕量級,這也意味著您可以根據(jù)需要添加自己的庫。
- 易用性:Flask的API非常簡單,易于理解和學(xué)習(xí),因此它非常適合初學(xué)者。
- 可擴(kuò)展性:Flask是可擴(kuò)展的,您可以添加插件來增強(qiáng)其功能,并且可以很容易地將其與其他庫和框架集成。
- 靈活性:Flask允許您選擇所需的組件,例如模板引擎、數(shù)據(jù)庫、表單驗(yàn)證等等。
- 集成度高:Flask支持與其他Python庫和框架的集成,如SQLAlchemy、WTForms、Jinja2等等。
- RESTful支持:Flask易于使用RESTful API,并且可以輕松地創(chuàng)建RESTful Web服務(wù)。
本文中,將構(gòu)建一個(gè)小型 Web 應(yīng)用程序,演示如何使用 psycopg2 庫,允許您在 Python 中與 HighgGo 數(shù)據(jù)庫進(jìn)行交互。您將在 Flask 中使用它來執(zhí)行基本任務(wù),例如連接到數(shù)據(jù)庫服務(wù)器、創(chuàng)建表、向表中插入數(shù)據(jù)以及從表中檢索數(shù)據(jù)。
2.Flask 架構(gòu)
Flask 是一個(gè)使用 Python 編寫的 Web 應(yīng)用程序框架。它使用了 Werkzeug 工具箱和 Jinja2 模板引擎。
Flask 框架主要由以下模塊組成:
- 應(yīng)用模塊:Flask 的核心模塊,是整個(gè) Web 應(yīng)用程序的入口,負(fù)責(zé)接收 HTTP 請求并返回響應(yīng)。它還負(fù)責(zé)路由、錯(cuò)誤處理、上下文等功能。
- 路由模塊:Flask 使用裝飾器來定義 URL 路由和視圖函數(shù)之間的映射關(guān)系。
- 視圖模塊:視圖函數(shù)是 Flask Web 應(yīng)用程序的核心,它處理 HTTP 請求并返回響應(yīng),可以返回 HTML 頁面、JSON 數(shù)據(jù)等。
- 模板模塊:Flask 使用 Jinja2 模板引擎來生成 HTML 頁面。模板引擎提供了豐富的語法和過濾器,可以輕松地生成復(fù)雜的 HTML 頁面。
- 數(shù)據(jù)庫模塊:Flask 可以輕松地與多種數(shù)據(jù)庫集成,包括 MySQL、PostgreSQL、SQLite 等。
- 表單模塊:Flask-WTF 是 Flask 的表單處理擴(kuò)展,提供了方便的表單處理方法,可以輕松地創(chuàng)建表單、驗(yàn)證表單數(shù)據(jù)等。
- 擴(kuò)展模塊:Flask 的擴(kuò)展模塊提供了各種功能,如郵件發(fā)送、緩存、登錄認(rèn)證等。
3.加載 psycopg2
具體操作步驟請參考 Psycopg2 接口說明文檔。
4.創(chuàng)建一個(gè)簡單的 Flask 應(yīng)用
4.1.數(shù)據(jù)庫初始化
create user flask password 'Qwer@1234'; |
flask_app
目錄創(chuàng)建文件 init_db.py
,添加如下代碼
import psycopg2 |
使用python
命令在終端中運(yùn)行init_db.py
文件,執(zhí)行完成且沒有錯(cuò)誤,一個(gè)新的 student
表將添加到您的flask_db
數(shù)據(jù)庫中
python init_db.py |
mkdir templates |
<!DOCTYPE html> |
打開一個(gè)名為index.html
的模板。這是您在app.py
文件中引用的模板:
{% extends 'base.html' %} |
運(yùn)行應(yīng)用程序
flask run |
在開發(fā)服務(wù)器運(yùn)行的情況下,使用瀏覽器訪問以下 URL:
http://127.0.0.1:5000/ |