图书管理系统展示----用户模块代码编写

一  **** 用户模块展示

任务


用户模块

个人信息展示

密码修改

查询可借图书

查询所借图书

1. 功能

图书相关需要简历图书相关表!

1.1 个人信息展示

后台

userinfo.html页面

流程: 登录后用户资料保存再sesion中--->查询根据id查询

@users.route('/userinfo', methods=['GET'])

def user_info():

'''根据id,或用户名查询,展示用户资料'''

id = session.get('user_id')

print(f'用户id:{id}')

reader = Reader.query.filter_by(id=id).all()

if len(reader)>0:

return render_template('userinfo.html',reader=reader[0])

else:

return render_template('reader.html',msg='查询无结果!')

# 完整流程

1. 前端表单校验(验证旧密码是否正确,验证三个表单数据不能为空,新密码和旧密码都相等)

`https://www.cnblogs.com/bignote/p/13307812.html`

2. 后端实现(前端未加验证,后台需要验证数据完整性)

获取数据--》验证数据完整性---》先查再改!--》跳转页面

@users.route('/updatepwd', methods=['GET','POST'])

def update_pwd():

if request.method=='GET':

return render_template('update_pwd.html')

else:

# 1.获取数据,2,完整性判断 3.修改

old_pwd = request.form.get('old_pwd')

pwd1 = request.form.get('pwd1')

pwd2 = request.form.get('pwd2')

id = session.get('user_id')修改密码页面

1.3 查询可借图书

图书馆数量大于1的全部显示给用户,并且提供用户查看书籍详细介绍

reader = Reader.query.filter_by(id=id).first()

# 判断

if not all([old_pwd,pwd1,pwd2]): # 判断列表中的所有变量是否都有值! 都有值返

回true

msg = '字段不能为空'

return render_template('update_pwd.html',msg=msg)

else:

# 判断用户名是否正确,两次密码是否相等

if reader.reader_pass !=old_pwd:

msg = '密码输入错误!'

return render_template('update_pwd.html',

msg=msg,old_pwd=old_pwd,pwd1=pwd1,pwd2=pwd2)

if pwd1 != pwd2:

msg = '密码不一致!'

return render_template('update_pwd.html',

msg=msg,old_pwd=old_pwd,pwd1=pwd1,pwd2=pwd2)

try:

reader.reader_pass = pwd2

db.session.commit()

return render_template('reader.html', msg='修改成功')

except Exception as e:

msg = '修改失败'

return render_template('reader.html', msg='修改失败')

查询可借图书

图书馆数量大于1的全部显示给用户,并且提供用户查看书籍详细介绍

后台代码

@users.route('/booklist', methods=['GET'])

def book_list():

# 图书数量大于1的表示可借

books = Book.query.filter(Book.book_quantity > 1).all()

return render_template('book.html',books=books)

前台展示

1.4 注销

清空session 中的所有数据,跳转到登录页面

{% for item in books %}

{% endfor %}

id 封面 书名 作者 数量 单价 出版社 出租次数 书籍说明 图书类别 借阅/归还
{{ item.id }}

Image

{{ item.book_name }} {{ item.author }} {{ item.book_quantity }} {{ item.price }} {{ item.bookConcern }} {{ item.bookOutCount }} {{ item.bookInfo }} {{ item.booktype.type_name }}

借阅

归还

@app.route("/logout",methods=['GET'])

def logout():

sesison.clear()

return render_template('index.html')

你可能感兴趣的:(图书管理系统展示----用户模块代码编写)