|
|
from flask import Flask,render_template,request,redirect
|
|
|
from flask_sqlalchemy import SQLAlchemy
|
|
|
|
|
|
|
|
|
app = Flask(__name__)
|
|
|
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:@127.0.0.1/test'
|
|
|
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
|
|
|
db = SQLAlchemy(app)
|
|
|
|
|
|
class Dengjiren(db.Model):
|
|
|
__tablename__ = "dengjiren"
|
|
|
工号 = db.Column(db.Integer, primary_key=True)
|
|
|
名称 = db.Column(db.String(255))
|
|
|
电话 = db.Column(db.String(255))
|
|
|
|
|
|
|
|
|
class Juanzengjilu(db.Model):
|
|
|
__tablename__ = "juanzengjilu"
|
|
|
捐赠记录编号 = db.Column(db.Integer, primary_key=True)
|
|
|
捐赠人编号 = db.Column(db.Integer, db.ForeignKey('juanzengzhe.捐赠者编号'))
|
|
|
捐赠者名称 = db.Column(db.String(255))
|
|
|
捐赠时间 = db.Column(db.String(255))
|
|
|
捐赠地址 = db.Column(db.String(255))
|
|
|
登记人编号 = db.Column(db.Integer, db.ForeignKey('dengjiren.工号'))
|
|
|
物品编号 = db.Column(db.Integer, db.ForeignKey('wupin.物品编号'))
|
|
|
物品名称 = db.Column(db.String(255))
|
|
|
物品数量 = db.Column(db.String(255))
|
|
|
受捐人编号 = db.Column(db.Integer, db.ForeignKey('shoujuanzhe.受捐者编号'))
|
|
|
受捐人名称 = db.Column(db.String(255))
|
|
|
juanzeng = db.relationship("Juanzengzhe", backref=db.backref("juanzengjilu", cascade="save-update,delete"), cascade="save-update")
|
|
|
wupin = db.relationship("Wupin", backref=db.backref("juanzengjilu", cascade="save-update,delete"),cascade="save-update")
|
|
|
dengji = db.relationship("Dengjiren",backref='juanzengjilus')
|
|
|
shoujuan = db.relationship("Shoujuanzhe", backref='juanzengjilus')
|
|
|
|
|
|
|
|
|
class Juanzengzhe(db.Model):
|
|
|
__tablename__ = "juanzengzhe"
|
|
|
捐赠者编号 = db.Column(db.Integer, primary_key=True)
|
|
|
捐赠者名称 = db.Column(db.String(255))
|
|
|
地址 = db.Column(db.String(255))
|
|
|
联系电话 = db.Column(db.String(255))
|
|
|
|
|
|
class Shoujuanjilu(db.Model):
|
|
|
__tablename__ = "shoujuanjilu"
|
|
|
受捐记录编号 = db.Column(db.Integer, primary_key=True)
|
|
|
受捐人编号 = db.Column(db.Integer, db.ForeignKey('shoujuanzhe.受捐者编号'))
|
|
|
受捐人名称 = db.Column(db.String(255))
|
|
|
受捐时间 = db.Column(db.String(255))
|
|
|
受捐地址 = db.Column(db.String(255))
|
|
|
登记人编号 = db.Column(db.Integer, db.ForeignKey('dengjiren.工号'))
|
|
|
物品编号 = db.Column(db.Integer, db.ForeignKey('wupin.物品编号'))
|
|
|
物品名称 = db.Column(db.String(255))
|
|
|
物品数量 = db.Column(db.String(255))
|
|
|
捐赠人编号 = db.Column(db.Integer, db.ForeignKey('juanzengzhe.捐赠者编号'))
|
|
|
捐赠人名称 = db.Column(db.String(255))
|
|
|
shoujuan = db.relationship("Shoujuanzhe", backref=db.backref("shoujuanjilu", cascade="save-update,delete"),cascade="save-update")
|
|
|
wupin = db.relationship("Wupin", backref=db.backref("shoujuanjilu", cascade="save-update,delete"),cascade="save-update")
|
|
|
dengji = db.relationship("Dengjiren", backref='shoujuanjilus')
|
|
|
juanzeng = db.relationship("Juanzengzhe", backref='shoujuanjilus')
|
|
|
|
|
|
|
|
|
class Shoujuanzhe(db.Model):
|
|
|
__tablename__ = "shoujuanzhe"
|
|
|
受捐者编号 = db.Column(db.Integer, primary_key=True)
|
|
|
名称 = db.Column(db.String(255))
|
|
|
地址 = db.Column(db.String(255))
|
|
|
联系电话 = db.Column(db.String(255))
|
|
|
|
|
|
class Wupin(db.Model):
|
|
|
__tablename__ = "wupin"
|
|
|
物品编号 = db.Column(db.Integer, primary_key=True)
|
|
|
物品名称 = db.Column(db.String(255))
|
|
|
物品数量 = db.Column(db.String(255))
|
|
|
储存方式 = db.Column(db.String(255))
|
|
|
仓库名称 = db.Column(db.String(255), db.ForeignKey('cangku.仓库名称'))
|
|
|
cangku = db.relationship("Cangku", backref='wupins')
|
|
|
|
|
|
class Cangku(db.Model):
|
|
|
__tablename__ = "cangku"
|
|
|
仓库名称 = db.Column(db.String(255), primary_key=True)
|
|
|
仓库地址 = db.Column(db.String(255))
|
|
|
|
|
|
|
|
|
class Yonghu(db.Model):
|
|
|
account = db.Column(db.String(255), primary_key=True)
|
|
|
password = db.Column(db.String(255))
|
|
|
|
|
|
|
|
|
@app.route("/index_page")
|
|
|
def index_page():
|
|
|
juanzeng_list = Juanzengjilu.query.all()
|
|
|
shoujuan_list = Shoujuanjilu.query.all()
|
|
|
# 拿到数据库的数据
|
|
|
return render_template("index.html", juanzeng_list=juanzeng_list, shoujuan_list=shoujuan_list)
|
|
|
|
|
|
|
|
|
@app.route("/select_dengjiren_page")
|
|
|
def select_dengjiren_page():
|
|
|
dengjirenList = Dengjiren.query.all()
|
|
|
# 拿到数据库的数据
|
|
|
return render_template("dengjiren.html",dengjirenList=dengjirenList)
|
|
|
|
|
|
@app.route("/select_juanzengjilu_page")
|
|
|
def select_juanzengjilu_page():
|
|
|
juanzengjiluList = Juanzengjilu.query.all()
|
|
|
# 拿到数据库的数据
|
|
|
return render_template("juanzengjilu.html",juanzengjiluList=juanzengjiluList)
|
|
|
|
|
|
|
|
|
@app.route("/select_juanzengzhe_page")
|
|
|
def select_juanzengzhe_page():
|
|
|
juanzengzheList = Juanzengzhe.query.all()
|
|
|
# 拿到数据库的数据
|
|
|
return render_template("juanzengzhe.html",juanzengzheList=juanzengzheList)
|
|
|
|
|
|
@app.route("/select_shoujuanjilu_page")
|
|
|
def select_shoujuanjilu_page():
|
|
|
shoujuanjiluList = Shoujuanjilu.query.all()
|
|
|
# 拿到数据库的数据
|
|
|
return render_template("shoujuanjilu.html",shoujuanjiluList=shoujuanjiluList)
|
|
|
|
|
|
|
|
|
@app.route("/select_shoujuanzhe_page")
|
|
|
def select_shoujuanzhe_page():
|
|
|
shoujuanzheList = Shoujuanzhe.query.all()
|
|
|
# 拿到数据库的数据
|
|
|
return render_template("shoujuanzhe.html",shoujuanzheList=shoujuanzheList)
|
|
|
|
|
|
@app.route("/select_wupin_page")
|
|
|
def select_wupin_page():
|
|
|
wupinList = Wupin.query.all()
|
|
|
# 拿到数据库的数据
|
|
|
return render_template("wupin.html",wupinList=wupinList)
|
|
|
|
|
|
@app.route("/select_cangku_page")
|
|
|
def select_cangku_page():
|
|
|
cangkuList = Cangku.query.all()
|
|
|
# 拿到数据库的数据
|
|
|
return render_template("cangku.html", cangkuList=cangkuList)
|
|
|
|
|
|
@app.route("/log_page")
|
|
|
def log_page():
|
|
|
return render_template("log.html")
|
|
|
|
|
|
@app.route("/")
|
|
|
def begin():
|
|
|
return log_page()
|
|
|
|
|
|
@app.route('/verification',methods=['GET','POST'])
|
|
|
def verification():
|
|
|
account = request.form['account']
|
|
|
password = request.form['password']
|
|
|
if ((account == 'root') & (password == '123456')):
|
|
|
return render_template("choice.html")
|
|
|
else:
|
|
|
return render_template("verification_false.html")
|
|
|
|
|
|
@app.route("/dengjiren_delete",methods=['GET'])
|
|
|
def dengjiren_delete():
|
|
|
#操作数据库得到目标数据,before_number表示删除之前的数量,after_name表示删除之后的数量
|
|
|
工号 = request.args.get("工号")
|
|
|
dengjiren = Dengjiren.query.filter_by(工号=工号).first()
|
|
|
db.session.delete(dengjiren)
|
|
|
db.session.commit()
|
|
|
return render_template("dengjiren.html")
|
|
|
|
|
|
#修改操作
|
|
|
@app.route("/dengjiren_alter",methods=['GET','POST'])
|
|
|
def dengjiren_alter():
|
|
|
# 可以通过请求方式来改变处理该请求的具体操作
|
|
|
# 比如用户访问/alter页面 如果通过GET请求则返回修改页面 如果通过POST请求则使用修改操作
|
|
|
if request.method == 'GET':
|
|
|
工号 = request.args.get("工号")
|
|
|
名称 = request.args.get("名称")
|
|
|
电话 = request.args.get("电话")
|
|
|
dengjiren = Dengjiren(工号 = 工号,名称=名称,电话=电话)
|
|
|
return render_template("dengjiren_alter.html",dengjiren = dengjiren)
|
|
|
else:
|
|
|
#接收参数,修改数据
|
|
|
工号 = request.form["工号"]
|
|
|
名称 = request.form['名称']
|
|
|
电话 = request.form['电话']
|
|
|
dengjiren = Dengjiren.query.filter_by(工号 = 工号).first()
|
|
|
dengjiren.名称 = 名称
|
|
|
dengjiren.电话 = 电话
|
|
|
db.session.commit()
|
|
|
return render_template("choice.html")
|
|
|
|
|
|
@app.route('/dengjiren_insert',methods=['GET','POST'])
|
|
|
def dengjiren_insert():
|
|
|
#进行添加操作
|
|
|
工号 = request.form['工号']
|
|
|
名称 = request.form['名称']
|
|
|
电话 = request.form['电话']
|
|
|
dengjiren = Dengjiren(工号=工号,名称=名称,电话=电话)
|
|
|
db.session.add(dengjiren)
|
|
|
db.session.commit()
|
|
|
#添加完成重定向至主页
|
|
|
return render_template("choice.html")
|
|
|
|
|
|
@app.route("/dengjiren_insert_page")
|
|
|
def dengjiren_insert_page():
|
|
|
#跳转至添加信息页面
|
|
|
return render_template("dengjiren_insert.html")
|
|
|
|
|
|
|
|
|
@app.route("/verification_page")
|
|
|
def verification_page():
|
|
|
#跳转至添加信息页面
|
|
|
return render_template("verification.html")
|
|
|
|
|
|
@app.route("/back_log")
|
|
|
def back_log():
|
|
|
#跳转至添加信息页面
|
|
|
return render_template("log.html")
|
|
|
|
|
|
@app.route("/back_choice")
|
|
|
def back_choice():
|
|
|
#跳转至添加信息页面
|
|
|
return render_template("choice.html")
|
|
|
|
|
|
|
|
|
@app.route("/juanzengjilu_delete",methods=['GET'])
|
|
|
def juanzengjilu_delete():
|
|
|
#操作数据库得到目标数据,before_number表示删除之前的数量,after_name表示删除之后的数量
|
|
|
捐赠记录编号 = request.args.get("捐赠记录编号")
|
|
|
juanzengjilu = Juanzengjilu.query.filter_by(捐赠记录编号=捐赠记录编号).first()
|
|
|
db.session.delete(juanzengjilu)
|
|
|
db.session.commit()
|
|
|
return render_template("juanzengjilu.html")
|
|
|
|
|
|
#修改操作
|
|
|
@app.route("/juanzengjilu_alter",methods=['GET','POST'])
|
|
|
def juanzengjilu_alter():
|
|
|
# 可以通过请求方式来改变处理该请求的具体操作
|
|
|
# 比如用户访问/alter页面 如果通过GET请求则返回修改页面 如果通过POST请求则使用修改操作
|
|
|
if request.method == 'GET':
|
|
|
捐赠记录编号 = request.args.get("捐赠记录编号")
|
|
|
捐赠人编号 = request.args.get("捐赠人编号")
|
|
|
捐赠者名称 = request.args.get("捐赠者名称")
|
|
|
捐赠时间 = request.args.get("捐赠时间")
|
|
|
捐赠地址 = request.args.get("捐赠地址")
|
|
|
登记人编号 = request.args.get("登记人编号")
|
|
|
物品编号 = request.args.get("物品编号")
|
|
|
物品名称 = request.args.get("物品名称")
|
|
|
物品数量 = request.args.get("物品数量")
|
|
|
受捐人编号 = request.args.get("受捐人编号")
|
|
|
受捐人名称 = request.args.get("受捐人名称")
|
|
|
juanzengjilu = Juanzengjilu(捐赠记录编号 = 捐赠记录编号,捐赠人编号=捐赠人编号,捐赠者名称=捐赠者名称,捐赠时间=捐赠时间,捐赠地址=捐赠地址,登记人编号=登记人编号,物品编号=物品编号,物品名称=物品名称,物品数量=物品数量,受捐人编号=受捐人编号,受捐人名称=受捐人名称)
|
|
|
return render_template("juanzengjilu_alter.html",juanzengjilu = juanzengjilu)
|
|
|
else:
|
|
|
#接收参数,修改数据
|
|
|
捐赠记录编号 = request.args.get("捐赠记录编号")
|
|
|
捐赠人编号 = request.args.get("捐赠人编号")
|
|
|
捐赠者名称 = request.args.get("捐赠者名称")
|
|
|
捐赠时间 = request.args.get("捐赠时间")
|
|
|
捐赠地址 = request.args.get("捐赠地址")
|
|
|
登记人编号 = request.args.get("登记人编号")
|
|
|
物品编号 = request.args.get("物品编号")
|
|
|
物品名称 = request.args.get("物品名称")
|
|
|
物品数量 = request.args.get("物品数量")
|
|
|
受捐人编号 = request.args.get("受捐人编号")
|
|
|
受捐人名称 = request.args.get("受捐人名称")
|
|
|
juanzengjilu = Juanzengjilu.query.filter_by(捐赠记录编号 = 捐赠记录编号).first()
|
|
|
juanzengjilu.捐赠人编号 = 捐赠人编号
|
|
|
juanzengjilu.捐赠者名称 = 捐赠者名称
|
|
|
juanzengjilu.捐赠时间 = 捐赠时间
|
|
|
juanzengjilu.捐赠地址 = 捐赠地址
|
|
|
juanzengjilu.登记人编号 = 登记人编号
|
|
|
juanzengjilu.物品编号 = 物品编号
|
|
|
juanzengjilu.物品名称 = 物品名称
|
|
|
juanzengjilu.物品数量 = 物品数量
|
|
|
juanzengjilu.受捐人编号 = 受捐人编号
|
|
|
juanzengjilu.受捐人名称 = 受捐人名称
|
|
|
db.session.commit()
|
|
|
return render_template("choice.html")
|
|
|
|
|
|
@app.route('/juanzengjilu_insert',methods=['GET','POST'])
|
|
|
def juanzengjilu_insert():
|
|
|
#进行添加操作
|
|
|
捐赠记录编号 = request.form['捐赠记录编号']
|
|
|
捐赠人编号 = request.form['捐赠人编号']
|
|
|
捐赠者名称 = request.form['捐赠者名称']
|
|
|
捐赠时间 = request.form['捐赠时间']
|
|
|
捐赠地址 = request.form['捐赠地址']
|
|
|
登记人编号 = request.form['登记人编号']
|
|
|
物品编号 = request.form['物品编号']
|
|
|
物品名称 = request.form['物品名称']
|
|
|
物品数量 = request.form['物品数量']
|
|
|
受捐人编号 = request.form['受捐人编号']
|
|
|
受捐人名称 = request.form['受捐人名称']
|
|
|
juanzengjilu = Juanzengjilu(捐赠记录编号=捐赠记录编号, 捐赠人编号=捐赠人编号, 捐赠者名称=捐赠者名称, 捐赠时间=捐赠时间, 捐赠地址=捐赠地址, 登记人编号=登记人编号, 物品编号=物品编号,
|
|
|
物品名称=物品名称, 物品数量=物品数量, 受捐人编号=受捐人编号, 受捐人名称=受捐人名称)
|
|
|
|
|
|
db.session.add(juanzengjilu)
|
|
|
db.session.commit()
|
|
|
#添加完成重定向至主页
|
|
|
return render_template("choice.html")
|
|
|
|
|
|
@app.route("/juanzengjilu_insert_page")
|
|
|
def juanzengjilu_insert_page():
|
|
|
#跳转至添加信息页面
|
|
|
return render_template("juanzengjilu_insert.html")
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
app.run(host='192.168.1.101', port=5124)
|