后端的读写
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. 怎样删除windows server back 备份副本文件

    我用的服务器是windows server 2012 下面说明 第一步:打开windows powershell 第二步:输入命令   DISKSHADOW 第二步:输入 delete shadows ...

  2. FFT的一种迭代实现

    struct Complex { double x,y; Complex(double x1=0.0 ,double y1=0.0) { x=x1; y=y1; } Complex operator ...

  3. STM32L011D4 ----- 低功耗

    After resuming from STOP the clock configuration returns to its reset state (MSI, HSI16 or HSI16/4 u ...

  4. mysql加速source导入数据

    mysql加速source导入数据 # 进入mysql中执行如下 ; ; ; ; -- 你的sql语句1 -- 你的sql语句2 -- 你的sql语句3 ; ; ; ;

  5. linux proc

    /proc文件系统下的多种文件提供的系统信息不是针对某个特定进程的,而是能够在整个系统范围的上下文中使用.可以使用的文件随系统配置的变化而变化. /proc/cmdline 这个文件给出了内核启动的命 ...

  6. kernel(二)源码浅析

    目录 kernel(二)源码浅析 建立工程 启动简析 head.s 入口点 查询处理器 查询机器ID 启动MMU 其他操作 start_kernel 处理命令行 分区 title: kernel(二) ...

  7. maven_eclipse配置maven

    1.eclipse配置3.3.9版本的maven 2.修改仓库位置

  8. python css盒子型 浮动

    ########################总结############### 块级标签能够嵌套某些块级标签和内敛标签 内敛标签不能块级标签,只能嵌套内敛标签 嵌套就是: <div> ...

  9. 解决 Ubuntu 经常 卡死

    ubuntu 的卡死可能与显卡驱动不兼容有关. 这里提供2种方式, 1.禁用原来自带的nouveau显卡驱动sudo gedit /etc/modprobe.d/blacklist.conf在最后一行 ...

  10. 2018牛客网暑期ACM多校训练营(第一场)E Removal(DP)

    题意 给你一个大小为n的数组,你可以删掉数组中的任意m个数,问你在删除m个数之后剩下的数组有多少种.(其中数组的每个数的大小<=k) 分析 显然需要动态规划,而k又很小,所以二维dp没问题. 设 ...