zoukankan      html  css  js  c++  java
  • Flask图书管管理表

    后端的读写
    from flask import Flask,render_template,request
    from flask_sqlalchemy import SQLAlchemy
    #导入时间模块
    import datetime

    #建立对象
    app = Flask(__name__)

    #载入配置文件
    app.config.from_pyfile('config.ini')


    #建立数据库对象
    db = SQLAlchemy(app)


    #建立数据库类
    class Book(db.Model):
    #创建表明
    __tablename__ = 'book'
    #主键
    id = db.Column(db.Integer,primary_key=True)
    #书名
    title = db.Column(db.String(200))
    #作者
    author = db.Column(db.String(200))
    #简介
    desc = db.Column(db.Text)
    #上传时间
    datetime = db.Column(db.DateTime)


    @app.route("/")
    def index():
    #通过request模块来判断请求方式
    return render_template('day7_index.html')


    @app.route("/book",methods=["GET","POST"])
    def booklist():
    #通过request模块来判断请求方式
    if request.method == "POST":
    type = request.form.get("type")
    #判断type如果是add就是入库逻辑
    if type == "add":
    #接收表单提交过来的数据,通过form属性调用
    title = request.form.get("title")
    author = request.form.get("author")
    desc = request.form.get("desc")
    #进行入库操作
    book = Book(title=title,author=author,desc=desc,datetime=datetime.datetime.now())
    #调用add方法入库
    db.session.add(book)
    #如果type值是del,那就是删除逻辑
    elif type=="del":
    #使用delete方法删除数据
    print("删除的id是%s" % request.form.get("id"))
    Book.query.filter_by(id=request.form.get("id")).delete()
    #如果type值为edit,那就是修改的逻辑
    elif type == "edit":
    #使用update方法修改数据
    print("修改的id是%s" % request.form.get("id"))
    #将title值修改,修改的是传递过来的title参数
    Book.query.filter_by(id=request.form.get("id")).update(
    {'title':request.form.get("title"),
    'author':request.form.get("author"),
    'desc':request.form.get("desc"),
    'datetime':datetime.datetime.now()
    })
    books = Book.query.all()
    return render_template('day7_booklist.html',books=books)
    if __name__ == "__main__":
    app.run()
     
    中间添加个跳转的页面
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>图书管首页</title>
    </head>
    <body>
    <h1>欢迎您的光临</h1>
    <br /><br />
     
    <a href="/book">图书管理页面</a>

     
    </body>
    </html>
     
     
     
    要展示的页面
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>图书列表页</title>
    <style>
     
    table{
    border: gold 2px solid;
    padding: 10px;
    font-size: 16px;
    color: brown;
     
    }
     
    </style>
    </head>
    <body>
    <center>
    <table>
    <tr>
    <td>编号</td> <td>书名</td><td>作者</td>
    <td>简介</td>
    <td>入库时间</td>
    <td>操作</td>
    </tr>
    {% for item in books%}
    <form method="POST">
    <tr>
    <td>{{ item.id }}</td>
    <td><input type="text" name="title" value="{{item.title }}" /></td>
    <td>{{ item.author }}</td>
    <td><input type="text" name="author" value="{{item.author}}" /></td>
    <td>{{ item.desc }}</td>
    <td><input type="text" name="desc" value="{{item.desc}}" /></td>
    <td>{{ item.datetime }}</td>
    <td>
    {# 加入隐藏域 用来传递参数 #}
    <input type="hidden" name="type" value="edit" />
    <input type="hidden" name="id" value="{{ item.id }}"/>
    <input type="submit" value="确认修改" />
    </form>

    {# 加入判断逻辑 ,再提交之前确认一下 #}
    <form method="POST" onsubmit="return(confirm('你确认要删除吗?'))">
    {# 使用隐藏域来传递参数 #}
    <input type="hidden" name="type" value="del" />
    <input type="hidden" name="id" value="{{ item.id}}" />
    <input type="submit" value="删除图书" />
    </form>
    </td>
    </tr>
    {% endfor %}
    </table>

    <br />
    {# 录入图书表单 #}
    <form method="POST">
    <input type="hidden" name="type" value="add" />
    <label>书名</label>
    <input type="yexy" name="title" placeholder="请输入书名" />
    <br />
    <label>作者</label>
    <input type="text" name="author" placeholder="情书入作者">
    <br />
    <label>简介</label>
    <textarea name="desc"></textarea>
    <br />
    <input type="submit" value="提交">

    </form>
    </center>
    </body>
    </html>
  • 相关阅读:
    MySQL中的char与varchar详解
    有关PHPstorm的git环境的配置和git密钥的生成总结
    PHP开发中常用的字符串操作函数
    PHP 二维数组排序函数的应用 array_multisort()
    大龄程序员的出路在哪里
    近期面试总结(PHP后端开发工程师)(部分笔试题)
    B-Tree目录和Hash索引的区别
    curl、fopen和file_get_contents区别
    什么是OAuth授权
    SEO 统计算法
  • 原文地址:https://www.cnblogs.com/antique/p/10185689.html
Copyright © 2011-2022 走看看