一、Flask框架入門
Flask框架是一個Python Web應用程序開發框架,它可以讓開發者輕鬆地創建Web應用和RESTful API。Flask框架非常簡潔和靈活,可以根據項目需求,選擇不同的插件和擴展功能。
Flask的基本語法如下:
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!'
上面的代碼創建了一個名為app的Flask對象,並使用@app.route(‘/’)裝飾器將hello_world()函數註冊為Web應用的默認路由。當用戶在瀏覽器中訪問http://localhost:5000/時,將會調用hello_world()函數,並返回”Hello, World!”這個字符串。
除了@app.route(‘/’)裝飾器,Flask還提供了很多其他裝飾器,例如@app.route(‘/user/:id’),表示帶有參數的路由。還有@app.before_request和@app.after_request兩個裝飾器,可以在請求前後執行相應的操作。
二、SQLite數據庫操作
Flask使用SQLite作為默認的數據存儲引擎,可以方便地進行數據庫操作。SQLite是一種輕量級數據庫引擎,不需要安裝額外的數據庫軟件,可以直接使用Python內置的sqlite3模塊操作SQLite數據庫。
下面是一個使用SQLite數據庫的示例:
import sqlite3 def connect_db(): conn = sqlite3.connect('my_database.db') return conn def query_db(query, args=(), one=False): conn = connect_db() cur = conn.execute(query, args) rv = cur.fetchall() cur.close() conn.close() return (rv[0] if rv else None) if one else rv @app.route('/user/:id') def get_user(id): user = query_db('select * from users where id = ?', [id], one=True) return 'User: %s' % user['username']
上述代碼中,connect_db()函數創建了一個名為my_database.db的SQLite數據庫文件,並返回一個數據庫連接對象。query_db()函數封裝了對SQLite數據庫的查詢操作,可以執行任意的SQL查詢語句,並返回查詢結果。get_user()函數使用query_db()函數查詢指定用戶的信息,並將結果返回給用戶。
三、模板引擎Jinja2
Flask使用Jinja2作為默認的模板引擎,可以方便地進行HTML頁面渲染和數據展示。Jinja2是一種靈活的模板引擎,支持模板繼承、過濾器和變量等多種擴展功能。
下面是一個使用Jinja2模板引擎的示例:
from flask import render_template @app.route('/user/:id') def get_user(id): user = query_db('select * from users where id = ?', [id], one=True) return render_template('user.html', user=user)
上述代碼中,get_user()函數查詢指定用戶的信息後,使用render_template()函數加載名為user.html的Jinja2模板文件,並將查詢結果傳遞給模板中的user變量,用於頁面展示。
user.html模板文件的內容如下:
<html> <head><title>User Profile</title></head> <body> <h1>{{ user.username }}</h1> <p>Email: {{ user.email }}</p> <p>Phone: {{ user.phone }}</p> </body> </html>
上述代碼中,使用了Jinja2模板引擎中的變量和標籤,通過{{ user.username }}將用戶的用戶名展示在頁面上,並使用<p>標籤將用戶的其他信息展示在頁面上。
原創文章,作者:LOHJ,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/143433.html