【发布时间】:2014-05-08 04:29:44
【问题描述】:
class XX(MethodView):
def get(self):
....
def post(self):
error = None
user = request.form['username']
password = request.form['password']
print user,password
if user == 'xxx' and password == 'xx':
session['logged_in'] = True
session['session_user'] = 'xx'
return redirect("control")
else:
errors = []
errors.append("Login error")
return render_template("login.html" , errors=errors)
#adding rule for control Blueprint
control.add_url_rule("/control",view_func= ControlView.as_view('control'))
代码 sn-p 检查特定的用户名、密码并应重定向到特定页面。
当请求登录页面时,发送 GET 请求。上面的 sn-p 获取用户名和密码并添加到会话字典中。重定向方法导致 POST 请求,响应代码为 302 FOUND 后跟 GET 请求到带有 200 OK 响应代码的所需页面。
但是重定向没有发生,它仍然在同一个登录页面上。
重定向应该有什么参数?
redirect('control')
redirect(url_for('control'))
redirect(url_for('control.control'))
为什么使用render_template('XX.html') 会以 500 响应码响应??
【问题讨论】:
-
你用什么GET方法(XX->get)???
-
XX.html是登录后的首页
-
试试
redirect('/control') -
@kartheek :不,它不起作用。它给出了 500 内部服务器错误
-
控制台中500旁边没有错误?