图书管理系统,基于flask框架python编写,连接VMware中的MySQL,可用postman测试例如:第一章 Python 机器学习入门之pandas的使用


图书管理系统,基于flask框架python编写,连接VMware中的MySQL,可用postman测试例如:第一章 Python 机器学习入门之pandas的使用


前言

注意:本文章主要注重于后端代码的编写


一、图书馆管理系统整体简介

本图书管理系统共有五大模块,分别为用户登录模块:登录功能;新书推荐模块:新书推荐功能;图书借阅模块:推荐功能、添加功能、编辑功能、借阅功能、查询功能;当前借阅模块:当前借阅功能、归还功能、确认归还功能;借阅记录模块:借阅记录功能。

二、构建与MySQL的连接,及定义几个functions

1.与MySQL连接,

代码如下(示例):

from flask import Flask,request,render_template,jsonify
from flask_cors import cross_origin,CORS
import pymysql
from pymysql import cursors
from decimal import *



# host1='127.0.0.1'
host1='虚拟机ip'#如要在主机测试postman,则为虚拟机ip,如要将此项目放在虚拟机运行,则用上面的ip
user1="root"   #MySQL中的用户
passwd1="root123456"  #MySQL的用户密码
db1='libsystem'  # 数据库名称

app = Flask(__name__)
app.config["JSON_AS_ASCII"]=False
CORS(app,resources=r'/*')

2、定义functions

#sql查询语句的function
def sql_query_json(sql):
    conn = pymysql.connect(host=host1, user=user1, password=passwd1, port=3306, db=db1, cursorclass=cursors.DictCursor)
    cur = conn.cursor()
    cur.execute(sql)
    all_obj = cur.fetchall()
    cur.close()
    conn.close()
    return all_obj

#sql插入更新语句的function
def sql_ua_json(sql):
    conn = pymysql.connect(host=host1, user=user1, password=passwd1, port=3306, db=db1, cursorclass=cursors.DictCursor)
    cur = conn.cursor()
    cur.execute(sql)
    conn.commit()
    cur.close()
    conn.close()

登录模块

1.登录功能

代码如下(示例):

#任务:登入界面,查询数据库中user对应的密码,接收数据{'name':'','passwd':''},返回json数据{'code':200}
#如为管理员返回{'isAdmin': True},反之,返回{'isAdmin': False}
@app.route('/api/login',methods=['POST'])#根据前端路径进行修改
@cross_origin()
def post_login_data():
    name = request.json.get('name')
    passwd = request.json.get('passwd')
    try:
        sql = f'select password from user where name="{
     name}";'
        resultlg = sql_query_json(sql)
        password1 = resultlg[0]['password']
        sql22 = f'select role from user where name="{
     name}";'
        result22 = sql_query_json(sql22)
        if passwd == password1:
            if result22 == [{
   'role': 'USER'}]:
                rpdata = {
   'code': 200, 'isAdmin': False}
                return jsonify(rpdata)
            elif result22 == [{
   'role': 'ADMIN'}]
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值