Flask消息闪烁在重定向中失败

rgb*_*rgb 10 python google-app-engine flask

我目前正在使用FlaskGoogle App Engine开展一个项目.get_flashed_messages()当我刷新消息时,调用返回空,然后使用redirect():

@views.route('/todo/add', methods=["POST"])
def add_todo():
    flash('hey')
    return redirect(url_for('todo_list')) 
Run Code Online (Sandbox Code Playgroud)

但是,如果我发表评论

# SERVER_NAME = 'localhost'
Run Code Online (Sandbox Code Playgroud)

那似乎工作正常.我的问题是我必须使用子域名,因此我需要设置SERVER_NAME.

这笔交易是什么?

rgb*_*rgb 10

我知道了!诀窍是将服务器名称设置为带点的东西.

因此'localhost'成为'app.local',app.local应该添加到/ etc/hosts,指向与localhost相同的地址.

来自文档:

请记住,不仅Flask存在不知道子域名的问题,您的Web浏览器也会这样做.大多数现代Web浏览器不允许在服务器名称上设置跨子域cookie,而不包含点.因此,如果您的服务器名称是"localhost",您将无法为"localhost"及其每个子域设置cookie.在这种情况下,请选择其他服务器名称,例如"myapplication.local",并将此名称+要使用的子域添加到主机配置中或设置本地绑定.