我对python web开发非常了解,所以请多多包涵。
我正在尝试使用 Flask 和以下代码设置一个非常基本的登录:
@app.route('/')
def index():
if verifyLoggedIn():
someData = gatherSomeData()
return render_template('main.html', data=someData)
else:
return redirect(url_for('login'))
@app.route('/login/', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
if request.form['usr'] == user and request.form['pwd'] == password:
session['user'] = request.form['usr']
session['passwd'] = request.form['pwd']
return redirect(url_for('index'))
else:
return render_template('out.html',name=request.form['usr'])
else:
return render_template('login.html')
当我通过“localhost:5000/”访问该页面时,我正确地被转发到“localhost:5000/login/”。但是,在我登录后,页面会加载“main.html”,但 url 栏仍然显示“localhost:5000/login/”。问题在于,如果我点击刷新按钮以获取“someData”的新值,我最终会回到登录屏幕。我发现在任何发布操作之后都是这种情况。我在这里错过了一些非常基本的东西吗?