下午好! 我正在尝试重定向我的烧瓶应用程序,但是redirect()不起作用,我是Flask中的新手。当用户输入用户名并通过时,代码将验证数据库中的数据,然后,我需要重定向到主页。
这是我的代码的一部分:
@app.route('/Logging',methods=['POST'])
def Logging():
_email = request.form['inputemail']
_password = request.form['inputpassword']
sql = "SELECT * FROM tbl_user WHERE (user_username, user_password) = (%s,%s)"
val = (_email,_password)
cursor.execute(sql, val)
res = cursor.fetchall()
if np.size(res) > 0:
return redirect('/Home')
else:
return render_template('errorLog.html',error = 'wrong user or pass')
这是“家”的路线:
@app.route('/Home')
def Home():
return render_template('home.html')
代码可以正常工作,它可以验证输入数据,但不能重定向!我尝试使用url_for,但没有。显然,home.html在正确的文件夹中。此外,命令行打印下一个:
[30/Dec/2019] "POST /Logging HTTP/1.1" 302 -
[30/Dec/2019] "GET /Home HTTP/1.1" 200 -
看起来该页面重定向了,但是没有。 请一些帮助和评论?谢谢
编辑:我使用ajax从表单获取数据:
$(function(){
$('#btnLogging').click(function(){
$.ajax({
url: '/Logging',
data: $('form').serialize(),
type: 'POST',
success: function(response){
console.log(response);
},
error: function(error){
console.log(error);
}
});
});
});
这是日志页面的html形式:
<form name = "form1" class="form-signin">
<label for="inputemail" class="sr-only">Correo Electrónico</label>
<input type="email" name="inputemail" id="inputemail" class="form-control" placeholder="Email" required autofocus/>
<label for="inputpassword" class="sr-only">Contraseña</label>
<input type="password" name="inputpassword" id="inputpassword" class="form-control" placeholder="Contraseña" required/>
<button id="btnLogging" class="btn btn-lg btn-primary btn-block" type="button" onclick = "printvalue()" value="print name" >Iniciar Sesión</button>
</form>
其中onclick =“ printvalue()”和value =“ print name”对js的调用,显示带有欢迎消息的警报。