烧瓶消息闪烁无法跨重定向

问题描述

| 我目前正在使用Flask和Google App Engine进行项目。当我闪烁一条消息然后使用
redirect()
时,调用
get_flashed_messages()
返回空:
@views.route(\'/todo/add\',methods=[\"POST\"])
def add_todo():
    flash(\'hey\')
    return redirect(url_for(\'todo_list\')) 
但是,如果我注释掉
# SERVER_NAME = \'localhost\'
那么它似乎工作正常。我的问题是我必须使用子域,因此需要设置SERVER_NAME。 怎么了     

解决方法

        我知道了! 诀窍是将服务器名称设置为带点的名称。 因此\'localhost \'变成\'app.local \',并且app.local应该添加到/ etc / hosts,指向与localhost相同的地址。 从文档:   请记住,不仅   烧瓶有不知道的问题   什么是子域,您的网络浏览器   也一样。最现代的网络浏览器   不允许跨子域Cookie   在没有名称的服务器上设置   里面的点。因此,如果您的服务器名称是   \'localhost \'您将无法   为\'localhost \'和每个   它的子域。请选择一个   在这种情况下,不同的服务器名称,   像\'myapplication.local \'并添加   这个名称+您想要的子域名   使用到您的主机配置或设置一个   本地绑定。     ,        您是否设置了cookie以在所有子域中都可以使用? 默认情况下,它们仅在设置它们的域上可读