栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python+Mysql+flask架构的在线留言板实战

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python+Mysql+flask架构的在线留言板实战

在线留言板实战项目说明文档

用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 项目开发流程(学习用)
  1. 实现web的基本搭建 flask框架实现web的基本搭建
  • (1)安装flask框架

    pip install flask
    
  • (2)使用flask框架搭建web

  1. 创建留言板数据库
    留言板需要存储哪些数据?

    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");
  1. 连接数据库并发起请求 获取请求结果
  2. 设计留言板html显示界面 显示留言板
  3. 设计留言添加功能
  • (1) 设计留言添加html界面
  • (2) 将新留言信息插入数据库
  1. 设计留言删除功能
  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('https://blog.csdn.net/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"]}")'
    res = model(sql)
    print(res)
    # 3.成功后页面跳转到 留言列表界面
    if res:
        return ''
    else:
        return ''


# 删除 一行留言
@app.route("/delete")
def delete():
    id = request.args.get('id')
    sql = f'delete from lyb where id={id}'
    res = model(sql)
    if res:
        return ''
    else:
        return ''


# 修改留言视图界面  不能修改id 即使在text文本框中修改了也没用
@app.route("/update")
def update():
    id = request.args.get('id')
    sql = f'select * from lyb where id={id}'
    res = model(sql)
    return render_template('update.html', data=res)


# 修改留言视图函数 在数据库中修改留言内容
@app.route('/modify', methods=['POST'])
def modify():
    # 1.接收表单数据
    data = request.form.to_dict()
    data['date'] = time.strftime('%Y-%m-%d %H:%M:%S')
    # 2.把数据添加到数据库
    sql = f'update lyb set nikename="{data["nikename"]}",info="{data["info"]}",date="{data["date"]}" where id={int(data["id"])}'
    res = model(sql)
    # 3.成功后页面跳转到 留言列表界面
    if res:
        return ''
    else:
        return ''


if __name__ == '__main__':
    app.run(debug=True, host='127.0.0.1', port='8080')

index.html




    
    留言板列表


    

留言列表

发布留言

{% for i in data %} {% endfor %}
ID编号 昵称 留言信息 留言时间 删除 修改
{{i.id}} {{i.nikename}} {{i.info}} {{i.date}} 删除 修改

add.html




    
    添加留言


    

添加留言

昵称:
留言信息:

update.html




    
    修改留言


    

修改留言

id:
昵称:
留言信息:
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/840046.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号