在线留言板实战项目说明文档
用python操作mysql完成一个在线留言板系统
- 1.设计留言板表
- 2.通过python语言实现
1 项目基本功能
留言板系统主要功能:(要求使用类实现)
- 1.显示留言板:显示留言板内容 包括ID编号、昵称、留言信息
- 2.发布留言:可以从留言板展示页面跳转到发布留言界面
- 3.删除留言:在留言板展示界面直接点击删除链接即可删除留言
- 4.修改留言:在留言板展示界面点击修改链接可以转到修改留言界面
2 项目基本结构
Messag_ board/
│ Message_board.py
│ README.md
│
├─.idea
│ │ .gitignore
│ │ misc.xml
│ │ modules.xml
│ │ pymysql.iml
│ │ workspace.xml
│ │
│ └─inspectionProfiles
│ profiles_settings.xml
│ Project_Default.xml
│
└─templates
add.html
index.html
update.html
3 运行环境
- 系统:windows
- 版本:python 3.9+
- 其他:无
4 项目开发流程(学习用)
- 实现web的基本搭建 flask框架实现web的基本搭建
-
(1)安装flask框架
pip install flask
-
(2)使用flask框架搭建web
-
创建留言板数据库
留言板需要存储哪些数据?id nikename 昵称 info 留言信息 datetime 留言时间
创建表:
mysql
create table lyb(
id int unsigned not null auto_increment primary key,
nikename varchar(6) not null,
info text not null,
date datetime not null
)engine=innodb default charset=utf8mb4;
插入数据:
insert into lyb values(null,"Jas","帮我买一张票","2022-01-01 11:11:11");
- 连接数据库并发起请求 获取请求结果
- 设计留言板html显示界面 显示留言板
- 设计留言添加功能
- (1) 设计留言添加html界面
- (2) 将新留言信息插入数据库
- 设计留言删除功能
- 设计留言修改功能
- (1)设计留言修改html界面
- (2)将修改的留言更新到mysql中
5 项目代码
Message_board.py
"""
用python操作mysql完成一个在线留言板
1.设计在线留言板表
2.通过python语言实现
"""
import pymysql
from flask import Flask,render_template,request
import time
app = Flask(__name__)
# 连接数据库并发起请求 获取请求结果
def model(sql):
# 1.链接mysql数据库
db = pymysql.connect(host='localhost',
user='root',
password='123456',
database='Jasmine',
cursorclass=pymysql.cursors.DictCursor)
try:
# 2.创建游标对象
cursor = db.cursor()
# 3.执行sql语句
res = cursor.execute(sql)
db.commit() # 在执行sql语句时,注意进行提交
# 4.提取结果
data = cursor.fetchall()
if data:
return data
else:
return res
except:
db.rollback() # 当代码出现错误时,进行回滚
finally:
# 6.关闭数据库连接
db.close()
# 留言板列表 显示留言信息
@app.route("/")
def hello():
# 1.获取所有的留言板数据
# 2.把数据分配到模板中(html页面)
row = model("select * from lyb")
return render_template('index.html',data=row)
# 定义视图 显示留言添加的页面
@app.route('/add')
def add():
return render_template('add.html')
# 定义视图函数 接收表单数据,完成数据的入库
@app.route('/insert', methods=['POST'])
def insert():
# 1.接收表单数据
data = request.form.to_dict()
data['date'] = time.strftime('%Y-%m-%d %H:%M:%S')
print(data)
# 2.把数据添加到数据库
sql = f'insert into lyb values(null,"{
data["nikename"]}","{
data["info"]}","{
data["date"