Flask curd

增删改查

增加:
@book.route('/add',methods=["GET",'POST'])
def add():
if request.method == 'GET':
authors = Author.query.all()
return render_template('add.html',authors=authors)

else:
    name = request.form.get('name')
    price = request.form.get('price')
    create_time = request.form.get('create_time')
    author_id = request.form.get('author_id')
    print(name)
    book1 = Books(name=name,price=price,create_time=create_time,author_id=author_id)
    db.session.add(book1)
    db.session.commit()
    # books = Books.query.all()
    # return render_template('books.html', books=books)
    return redirect('/book/readerall')

删除:
@book.route('/delete/int:id')
def delete(id):
book1 = Books.query.get(id)
db.session.delete(book1)
db.session.commit()
# books = Books.query.all()
# return render_template('books.html', books=books)
return redirect('/book/readerall')

修改:
@book.route('/update/int:id',methods=["GET","POST"])
def update(id):
if request.method == 'GET':
book1 = Books.query.get(id)
authors = Author.query.all()
return render_template('update.html',authors=authors,book1=book1)
else:
book1 = Books.query.get(id)
name = request.form.get('name')
price = request.form.get('price')
create_time = request.form.get('create_time')
author_id = request.form.get('author_id')
book1.name = name
book1.price = price
book1.create_time = create_time
book1.author_id = author_id
db.session.commit()
# books = Books.query.all()
# return render_template('books.html', books=books)
return redirect('/book/readerall')

查询:
get方法为显示分页显示数据,post方法是查找书籍并分页显示
@book.route('/readerall',methods=['GET','POST'])
def reader_all():
if request.method == 'GET':
paginate = Books.query.paginate(1, 2) # 默认显示第1页 # 获取页数
page = int(request.args.get('page',1))
if page <= 0:
page = 1
if page >= paginate.pages: # 共3页, 输入30-->显示最大页3
page = paginate.pages #最大页数
paginate = Books.query.paginate(page, 2)# 重新查询
books = paginate.items # 当前页数据(默认是第1页数据)
return render_template('books.html',books=books,paginate=paginate)
else:
name = request.form.get('name')
print(Books.query.filter(Books.name.contains(name)))
paginate = Books.query.filter(Books.name.contains(name)).paginate(1,2)
books = paginate.items
return render_template('books.html',books=books,paginate=paginate)

前端页面显示:

Title
posted @ 2020-11-09 20:01  张子谦1106  阅读(77)  评论(0)    收藏  举报