后端的读写
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>

Flask图书管管理表的更多相关文章

  1. Oracle_创建和管理表

    创建和管理表 常见的数据库对象 Oracle 数据库中的表 查询数据字典 命名规则 CREATE TABLE 语句 数据类型 使用子查询创建表 ALTER TABLE 语句 删除表 清空表 改变对象的 ...

  2. 管理表空间和数据文件<六>

    数据库管理 -- 管理表空间和数据文件  介绍 表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库则是存放在表空间中,表 空间由一个或多个数据文件组成. 数据库 ...

  3. Oracle本地管理对照数据字典管理表空间

    Locally vs. Dictionary Managed Tablespaces 整理自:http://www.orafaq.com/node/3. When Oracleallocates sp ...

  4. 十四、oracle 数据库管理--管理表空间和数据文件

    一.概念表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库数据则是存放在表空间中,表空间由一个或多个数据文件组成. 二.数据库的逻辑结构oracle中逻辑结构包括 ...

  5. oracle 数据库管理--管理表空间和数据文件

    一.概念表空间是数据库的逻辑组成部分.从物理上讲,数据库数据存放在数据文件中:从逻辑上讲,数据库数据则是存放在表空间中,表空间由一个或多个数据文件组成. 二.数据库的逻辑结构oracle中逻辑结构包括 ...

  6. Oracle02——oracle分页、子查询、集合运算、处理数据、创建和管理表和其他数据库对象

    作者: kent鹏 转载请注明出处: http://www.cnblogs.com/xieyupeng/p/7289451.html --oracle分页(Pageing Query) select ...

  7. Hive管理表分区的创建,数据导入,分区的删除操作

    Hive分区和传统数据库的分区的异同: 分区技术是处理大型数据集经常用到的方法.在Oracle中,分区表中的每个分区是一个独立的segment段对象,有多少个分区,就存在多少个相应的数据库对象.而在P ...

  8. Hive管理表,外部表及外部分区表的深入探讨

    Hive管理表,也叫内部表.Hive控制着管理表的整个生命周期,默认情况下Hive管理表的数据存放在hive的主目录:/user/hive/warehouse/下,并且当我们删除一张表时,这张表的数据 ...

  9. flask用宏渲染表单模板时,表单提交后,如果form.validate_on_submit()返回的是false的可能原因

    flask用宏渲染表单模板时,表单提交后,提交的内容符合DataRequired()校验, 但是form.validate_on_submit()返回的是False, 原因可能是表单模板中的<f ...

随机推荐

  1. log.error("异常:", e);与log.error(e.getMessage());区别

    转: log.error("异常:", e);与log.error(e.getMessage());区别 2017年04月28日 14:51:32 行走的soong 阅读数:120 ...

  2. 解决jQuery ajax动态新增节点无法触发点击事件的问题

    在写ajax加载数据的时候发现,后面添加进来的demo节点元素,失去了之前的点击事件.为什么点击事件失效,我们该怎么去解决呢? 其实最简单的方法就是直接在标签中写onclick="" ...

  3. MySQL中的主键,外键有什么作用详解

    MySQL中的主键,外键有什么作用详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 学关系型数据库的同学,尤其在学习主键和外键时会产生一定的困惑.那么今天我们就把这个困惑连根拔起 ...

  4. win10 同步批处理禁用和启用网卡

    @ echo off echo 正在启用超级管理员权限... %1 %2 ver|find "5.">nul&&goto :st mshta vbscript ...

  5. Hadoop记录-Hadoop NameNode 高可用 (High Availability) 实现解析

    Hadoop NameNode 高可用 (High Availability) 实现解析   NameNode 高可用整体架构概述 在 Hadoop 1.0 时代,Hadoop 的两大核心组件 HDF ...

  6. ubuntu 14.04中安装 ruby on rails 环境

    环境:在win7 上Vmware虚拟机环境中安装的ubuntu 14.04 1. bundle install 时,报json错误可以看出是在安装nokogiri时遇到了问题,此时执行 sudo ap ...

  7. log4j日志文件名与行号显示乱码? 问号? 参数问号? 日志问号?【转】【补】

    log4j本来设置了要打印行号与文件名的,结果有的能打印出来,有的却是乱码,查了些文档之后才发现,原来打印问题是因为编绎时没有编绎进去调试信息,所以没办法打印,好像有的系统又会显示(Unknown S ...

  8. linux下使用sftp【转】

    . 本文完全引用自: http://www.cnblogs.com/kaituorensheng/p/5797753.html 何为sftp sftp是Secure File Transfer Pro ...

  9. Kudu系列: Kudu主键选择策略

    每个Kudu 表必须设置Pimary Key(unique), 另外Kudu表不能设置secondary index, 经过实际性能测试, 本文给出了选择Kudu主键的几个策略, 测试结果纠正了我之前 ...

  10. 什么是CMD

    cmd是command的缩写.命令提示符是在操作系统中,提示进行命令输入的一种工作提示符.在不同的操作系统环境下,命令提示符各不相同. 在windows环境下,命令行程序为cmd.exe,是一个32位 ...