我在Heroku上的登台服务器上运行了一个Django(1.11.8)应用程序。
我使用现有记录,用户等导入数据库,这一切似乎都运行良好。
登录时,我有时会返回登录页面。其他时候我已登录,并且我已重定向到用户个人资料页面。但是,如果我之后做了什么,我最终会退出。
我尝试确保Cookie的名称不会与生产应用程序发生冲突(工作正常)。
我还通过shell检查了Session记录。当我设法登录时,它似乎不会创建任何新的会话记录。为了确保我清除了所有会话记录,并且在我登录时没有创建新记录。
数据库连接似乎很好,因为我可以通过注册创建用户记录。我也能够通过shell手动创建会话记录。我只是看不到因登录页面而创建的内容。
任何想法都赞赏?
编辑:
因此,在已安装的应用中,我使用:
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.sessions'
发动机:
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
在中间件中:
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
EDIT2:OH。
好的,所以我读了会话引擎的事情:
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
https://docs.djangoproject.com/en/1.11/topics/http/sessions/#using-cached-sessions
由于我使用缓存而不是开发中的数据库,这可以解释为什么我没有看到数据库中发生的任何事情。我猜测Heroku中的缓存存在问题。