本文共 5169 字,大约阅读时间需要 17 分钟。
这里是函数调用代码
from flask import Flask, render_template, requestimport DBUtilsOapp = Flask(__name__)@app.route("/")def hello(): return render_template("hello.html")@app.route("/login")def login(): return render_template("login.html")@app.route("/F5",methods=["get","post"])def F5(): sql = "select id,name,EMAIL,TELS from TB_DATA" tuple = DBUtilsO.selectData(sql) list = cardTubleToDic(tuple) return render_template("list.html",list = list)@app.route("/toSearch",methods=["get","post"])def toSearch(): name = request.form.get("name") idm = request.form.get("idm") print(name) sql = "select ID,NAME,EMAIL,TELS from TB_DATA" if len(name)>0: sql = "select ID,NAME,EMAIL,TELS from TB_DATA where NAME like '%%%s%%' "%name if len(idm)>0: sql = "select ID,NAME,EMAIL,TELS from TB_DATA where ID = %s "%idm tuple = DBUtilsO.selectData(sql) list = cardTubleToDic(tuple) return render_template("list.html",list = list)def cardTubleToDic(tuple): list = [] for obj in tuple: list.append({ "id":obj[0], "name":obj[1], "email":obj[2], "tels":obj[3] }) return list@app.route("/toDelete",methods=["get","post"])def toDelete(): idm = request.args.get("id") sql = "delete from TB_DATA where id="+idm DBUtilsO.deleteData(sql) sql = "select id, name, email, tels from TB_DATA" tuple = DBUtilsO.selectData(sql) list = cardTubleToDic(tuple) return render_template("list.html", list=list)@app.route("/insert",methods=["get","post"])def insert(): sql = "select id, name, email, tels from TB_DATA" tuple = DBUtilsO.selectData(sql) list = cardTubleToDic(tuple) return render_template("insert.html",list=list)@app.route("/insertSucceed",methods=["get","post"])def insertSucceed(): idm = request.form.get("idm") name = request.form.get("name") email = request.form.get("email") tels = request.form.get("tels") sql = "select id, name, email, tels from TB_DATA" tuple = DBUtilsO.selectData(sql) list = cardTubleToDic(tuple) lisName = [] lisId = [] for obj in list: lisName.append(obj['name']) lisId.append(obj['id']) if len(name)==0: return render_template("insert.html", msg="名称不能为空",list=list) if len(idm)==0: return render_template("insert.html", msg="ID不能为空",list=list) if name in lisName: return render_template("insert.html", msg="名称已存在",list=list) if idm in lisId: return render_template("insert.html", msg="ID已存在",list=list) sql = "INSERT INTO TB_DATA(ID,NAME,EMAIL,TELS) VALUES ('%s','%s','%s','%s')" % (idm, name, email, tels) a = DBUtilsO.insertData(sql) sql = "select ID,NAME,EMAIL,TELS from TB_DATA" tuple = DBUtilsO.selectData(sql) list = cardTubleToDic(tuple) if a: return render_template("list.html", list=list, msg='添加成功') else: return render_template("list.html", list=list, msg='添加失败')@app.route("/Update",methods=["get","post"])def Update(): idm = request.args.get("id") sql = "select ID,NAME,EMAIL,TELS from TB_DATA where ID = %s " % idm tuple = DBUtilsO.selectData(sql) list = cardTubleToDic(tuple) return render_template("Update.html",id=idm,list=list)@app.route("/UpdateSucceed",methods=["get","post"])def UpdateSucceed(): idm = request.args.get("id") name = request.form.get("name") emil = request.form.get("email") tel = request.form.get("tels") sql = "select NAME from TB_DATA" tuple = DBUtilsO.selectData(sql) lism = [] for obj in tuple: lism.append(obj[0]) if name in lism: return render_template("Update.html", msg="名称已存在") sql = "update TB_DATA set NAME ='%s',EMAIL='%s',TELS='%s' where ID=%s"%(name,emil,tel,idm) print(sql) DBUtilsO.updateData(sql) sql = "select ID,NAME,EMAIL,TELS from TB_DATA" tuple = DBUtilsO.selectData(sql) list = cardTubleToDic(tuple) return render_template("list.html", list=list)@app.route("/gotologin",methods=["get","post"])def gotologin(): name = request.form.get("name") pwd = request.form.get("pwd") # 根据name拿数据 sql = "select NAME,PWD from TB_USER where NAME='%s'"%name lism = DBUtilsO.selectData(sql) if len(lism) == 0: return render_template("login.html",msg="用户名不存在") elif lism[0][1] != pwd: return render_template("login.html",msg="密码不对") else: return render_template("list.html")if __name__ == "__main__": app.run(debug=True,port=5300)
其中,调用的数据库(oracle)操作代码为:
import cx_Oracledef getConnect(): conn = cx_Oracle.connect('SCOTT/adiga') return conndef closeConnect(cursor, conn): if cursor: cursor.close() if conn: conn.close()def insertData(sql): conn = getConnect() cursor = conn.cursor() cursor.execute(sql) conn.commit() count = cursor.rowcount closeConnect(cursor, conn) if count > 0: return True else: return Falsedef selectData(sql): conn = getConnect() cursor = conn.cursor() cursor.execute(sql) a = cursor.fetchall() closeConnect(cursor, conn) return adef updateData(sql): return insertData(sql)def deleteData(sql): return insertData(sql)
转载地址:http://ubuhf.baihongyu.com/