我认为解决方案应该是:
返回重定向(url_for(main))
因为我的终端告诉我我要搬到' /'像我应该的那样,但它不起作用。我可以得到
127.0.0.1 - - [23/Apr/2018 23:01:36] "GET / HTTP/1.1" 200 -
它实际上并没有把我带到那里。
这里必须有一个非常愚蠢的简单错误。我想要做的就是,在将新的用户名和密码存储到数据库中后,返回主屏幕,该屏幕列在' /'中。我基本上在另一个页面中有这个确切的过程,所以我没有真正看到问题。这只是一个粗略的注册页面,以满足项目的要求,它比任何东西都更具象征意义。
我还可以确认输入确实进入数据库并且"这里"得到印刷。
我觉得
return redirect('/')
是有效的一行。
https://www.tutorialspoint.com/flask/flask_redirect_and_errors.htm
@app.route('/signUp',methods=['POST','GET'])
def signUp():
conn = mysql.connect()
cur = conn.cursor()
try:
_name = request.form['inputName']
_email = request.form['inputEmail']
_password = request.form['inputPassword']
if _name and _email and _password:
cur.callproc('sp_createUser',(_name,_email,_password,))
print ("Registered")
data = cur.fetchall()
conn.commit()
json.dumps({'message':'User created successfully !'})
print('here')
return redirect('/')#not redirecting to home
else:
return json.dumps({'html':'<span>Enter the required fields</span>'})
except Exception as e:
return json.dumps({'error':str(e)})
finally:
cur.close()
conn.close()
@app.route("/")
def main():
return(render_template('Senty.html'))
我还会发布终端结果以防万一
127.0.0.1 - - [23/Apr/2018 21:45:06] "GET /showSignUp HTTP/1.1" 200 -
Registered
here
127.0.0.1 - - [23/Apr/2018 21:45:14] "POST /signUp HTTP/1.1" 200 -
答案 0 :(得分:0)
可能你需要使用:
return redirect(url_for('/'))
答案 1 :(得分:0)
return redirect(url_for('signUp'))
我相信它应该是函数的名称。
答案 2 :(得分:0)
“/”路由
中存在语法错误@app.route("/")
def main():
return(render_template('Senty.html'))
正确的代码是:
return render_template('Senty.html')