Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Session 希罗库总是忘了我_Session_Heroku_Flask_Jinja2 - Fatal编程技术网

Session 希罗库总是忘了我

Session 希罗库总是忘了我,session,heroku,flask,jinja2,Session,Heroku,Flask,Jinja2,我正在Heroku中部署一个Flask应用程序,我的会话有问题。 问题是这些会话不会在heroku上持久存在。当我用f12打开开发工具时,我看到的是,当我登录时,它正确地创建了一个cookie,但它只是通过几个重定向将其忘记,并返回到主页。 我什么都试过了,但什么都没用:我把我的登录改为flask登录,我使用了heroku粘性会话,我创建了一个新的heroku应用程序,但仍然不起作用。在localhost中,一切工作正常,密钥设置正确 我不知道还能尝试什么。我认为这是一个heroku问题 这造成

我正在Heroku中部署一个Flask应用程序,我的会话有问题。 问题是这些会话不会在heroku上持久存在。当我用f12打开开发工具时,我看到的是,当我登录时,它正确地创建了一个cookie,但它只是通过几个重定向将其忘记,并返回到主页。 我什么都试过了,但什么都没用:我把我的登录改为flask登录,我使用了heroku粘性会话,我创建了一个新的heroku应用程序,但仍然不起作用。在localhost中,一切工作正常,密钥设置正确

我不知道还能尝试什么。我认为这是一个heroku问题

这造成的另一个问题是,我在html中用jinja做了一个if语句,在用户是否登录时显示不同的索引,现在它只显示未登录用户的索引:

{% if current_user.is_authenticated %}
{% else %}
以下是我的回购协议的链接(代码在app.py中):

下面是我的应用程序的链接,供您试用:


我希望有人能帮我找到这个bug,谢谢大家:)

我在Heroku上发现问题是在我的config.py中使用os.uradom()作为密钥。这不是当地环境的问题,但在Heroku的体验非常糟糕


在Heroku中将密钥设置为环境变量,为我解决了Flask会话不稳定的问题。

您对重定向不起作用有疑问。在每种情况下,答案都是Heroku的文件系统是短暂的,因此您对它所做的任何更改都会经常丢失。现在你是我的朋友了。这听起来是个好主意吗?此外,我们不会离开现场为您挖掘代码。我现在不该这么做,但我很好奇你是否又犯了同样的错误。将来,请将所有相关代码直接包含在您的问题中。对不起,我是新加入编码世界的。如果会话不在文件系统中,我如何存储它?不使用正常签名cookie/会话的原因是什么?我希望它们能在Heroku上正常工作,因为服务器端没有存储任何东西(只是我认为没有更改的密钥)。我正在使用普通的flask会话,但Heroku似乎不正确支持它们,它们就消失了