【发布时间】:2017-04-19 15:11:17
【问题描述】:
跟随here的这篇教程:
@app.route('/')
def index():
if 'username' in session:
return 'Logged in as %s' % escape(session['username'])
return 'You are not logged in'
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
session['username'] = request.form['username']
return redirect(url_for('index'))
return '''
<form action="" method="post">
<p><input type=text name=username>
<p><input type=submit value=Login>
</form>
'''
我似乎无法在 Chromium 浏览器上使用它。似乎会话没有被保存,即使使用session.modified = True,它也不会持续到index 路由。换句话说 - 会话 cookie 没有被创建。
铬版本:54.0.2840.71
在 Firefox 和 Qutebrowser 浏览器上测试。
【问题讨论】:
-
要找出它的铬方面的问题,检查铬浏览器的开发者控制台( F12 )和网络选项卡;检查响应头是否包含 atlease "Set-Cookie"
-
在 MacOS El Capitan 上用 Chrome 54.0.2840.98 和在 Linux(Ubuntu 16.04) 上用 chromium 56.0.2924.14 (chrome-dev) 测试没有任何问题。您的 chrome 上可能有关于会话的奇怪设置或尝试更新 chromium
-
您还定义了其他路线吗?它可能与 favicon.ico 有关。见stackoverflow.com/questions/2953536/…
标签: python session cookies flask