大作业仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

133 lines
4.2 KiB

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)