from flask import Flask from flask import render_template from flask import request from flask import redirect,url_for from code1.model import Model import session import socket import random from __init__ import predict,train,evaluate #获取本机电脑名 app = Flask(__name__) import user import couplet vocab_file = 'code1/data/vocabs' model_dir = 'code1/output' m = Model( None, None, None, None, vocab_file, num_units=1024, layers=4, dropout=0.2, batch_size=32, learning_rate=0.0001, output_dir=model_dir, restore_model=True, init_train=False, init_infer=True) @app.route("/") def index(): return render_template("homepage.html",ip=ip) @app.route("/homepage",methods=['GET']) def homepage(): return render_template("homepage.html",ip=ip) @app.route("/game1",methods=['GET','post']) def game1(): if request.method == 'GET': return render_template("game1.html",ip=ip) else: upper = request.form.get("upper", "") input=upper lower=m.infer(' '.join(input)) lower = ''.join(lower.split(' ')) return render_template("game1_result.html",lower=lower,upper=upper,ip=ip) @app.route("/judge",methods=['GET','POST']) def judge(): result= request.form.get("result", "") upper = request.form.get("upper") lower = request.form.get("lower") u = couplet.Couplet() if(int(result)==1): u.to_evaluation(up=upper,down=lower) else: u.to_predict(up=upper,down=lower) return render_template("game1_back.html",ip=ip) @app.route("/game2",methods=['GET','post']) def game2(): if request.method == 'GET': u = couplet.Couplet() pre = u.db_session.query(predict).all() up=[] for i in pre: up.append(i.up) up=up[random.randint(0, len(up)-1)] return render_template("game2.html",up=up,ip=ip) else: up = request.form.get("up") down= request.form.get("down") u = couplet.Couplet() u.to_evaluation(up=up,down=down) return render_template("game2_back.html",ip=ip) @app.route("/game3",methods=['GET','post']) def game3(): if request.method == 'GET': u = couplet.Couplet() pre = u.db_session.query(evaluate).all() up=[] down=[] for i in pre: up.append(i.up) down.append(i.down) temp=random.randint(0,len(up)-1) up=up[temp] down=down[temp] return render_template("game3.html",up=up,down=down,ip=ip) else: result = request.form.get("result", "") up = request.form.get("up") down= request.form.get("down") print(result,up,down) if(result=='1'): u = couplet.Couplet() u.add_popular(up=up, down=down,popular=1) else: u = couplet.Couplet() u.minus_popular(up=up, down=down, popular=1) return render_template("game3_back.html",ip=ip) @app.route("/register", methods=['GET',"POST"]) def register(): if request.method=='GET': return render_template("register.html",ip=ip) else: user_id = request.form.get("user_id", "") password = request.form.get("password", "") u = user.Users() code, message = u.register(user_id=user_id, password=password) if code==200: return """<a href="http://{}/login" target="_self">注册成功,点击登陆</a> """.format(ip) else: return """<a href="http://{}/register" target="_self">注册失败,点击重新注册</a> """.format(ip) @app.route("/login", methods=["GET","POST"]) def login(): if request.method=='GET': return render_template("login.html") else: user_id = request.form.get("user_id", "") password = request.form.get("password", "") u = user.Users() code, message = u.login(user_id=user_id, password=password) if code==200: return redirect(url_for('homepage')) else: return """<a href="http://{}/login" target="_self">用户名或密码错误,点击重新登陆</a> """.format(ip) if __name__ == '__main__': app.run("127.0.0.1",port=5000)