302的錯誤,我有這樣的代碼https://github.com/italomaia/flask-empty/blob/master/src/0.8/main.py和我在文件末尾該代碼爲什麼我得到flask.redirect
def configure_before_request(app):
@app.before_request
def before_request():
hash = pbkdf2_sha256.encrypt(app.config['PASSWORD'], rounds=8000, salt_size=10)
if session.get('logged_in') != hash:
return redirect(url_for('login'))
def configure_views(app):
@app.route('/login/', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
hash = pbkdf2_sha256.encrypt(app.config['PASSWORD'], rounds=8000, salt_size=10)
if request.form['login'] == app.config['USERNAME'] and pbkdf2_sha256.verify(request.form['password'], hash):
session['logged_in'] = hash
return redirect(url_for('index'))
else:
flash(u'Неверный логин или пароль')
return render_template('login.html')
@app.route('/', methods=['GET', 'POST'])
def index():
return 'index_page НАХ.'
寫,如果我運行這段代碼,我得到302服務器錯誤(ERR_TOO_MANY_REDIRECTS
),但如果我改變這條線return redirect(url_for('login'))
在return 'Hello!'
所有工作沒有錯誤!我做錯了什麼?
謝謝。
編輯 解決方案問題。
上 if session.get('logged_in') != hash and request.endpoint != 'login':
302不是服務器錯誤的功能。 302 Found是一個HTTP狀態碼。服務器錯誤是屬於5xx類別的HTTP狀態代碼。但實際上,在執行重定向時,使用重定向的位置找到A 302就是你想要的。我不知道(ERR_TOO_MANY_REDIRECTS)是什麼,我不知道你的問題的答案。但302是實現臨時重定向的正確方法。 – cytinus 2013-03-02 15:27:42