在現代網站中,用戶留言功能已經成為網站互動性和用戶體驗的重要組成部分。無論是企業站、個人博客還是內容管理系統(CMS),都需要留言模塊來收集反饋與增強互動。本文將以Python語言為基礎,結合Flask與SQLAlchemy,介紹如何構建一個簡單實用的CMS留言系統。
開始之前,請確保已經安裝以下開發工具和依賴庫:
可以通過以下命令快速安裝:
<span class="fun">pip install flask flask_sqlalchemy</span>
留言系統的核心是數據庫結構的設計。我們選擇SQLite作為本地數據庫,簡單高效,適合快速開發與測試。
以下是使用SQLAlchemy定義的數據模型:
from flask_sqlalchemy import SQLAlchemy
from datetime import datetime
<p>db = SQLAlchemy()</p>
<p>class Message(db.Model):<br>
id = db.Column(db.Integer, primary_key=True)<br>
content = db.Column(db.String(255), nullable=False)<br>
timestamp = db.Column(db.DateTime, default=datetime.now, nullable=False)<br>
數據庫初始化通常在Flask應用啟動時進行,配置代碼如下:
from flask import Flask
<p>app = Flask(<strong>name</strong>)<br>
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///message.db'<br>
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False</p>
<p>db.init_app(app)</p>
<p>with app.app_context():<br>
db.create_all()<br>
我們先實現一個頁面,展示所有用戶的留言信息:
@app.route('/message', methods=['GET'])
def message_list():
messages = Message.query.all()
return render_template('message.html', messages=messages)
接下來,為用戶提供留言提交表單的處理邏輯:
@app.route('/message/add', methods=['GET', 'POST'])
def add_message():
if request.method == 'POST':
content = request.form.get('content')
if content:
message = Message(content=content)
db.session.add(message)
db.session.commit()
flash('留言發布成功')
return redirect(url_for('message_list'))
else:
flash('留言內容不能為空')
return render_template('add_message.html')
將上述兩個視圖函數註冊到應用中:
app.add_url_rule('/message', view_func=message_list)
app.add_url_rule('/message/add', view_func=add_message)
通過本教程,我們實現了一個基於Flask的用戶留言系統,具備留言的展示和提交功能,適合嵌入CMS系統中擴展使用。
你可以根據項目需求繼續完善功能,比如添加分頁、驗證碼、用戶身份驗證等模塊,進一步提升系統的穩定性與安全性。