【问题标题】:heroku deployment, relation "django_session" does not existheroku 部署,关系“django_session”不存在
【发布时间】:2020-10-02 22:22:21
【问题描述】:

我在 Python+Django 上构建了一个简单的浏览器游戏,它使用 session/cookies 来跟踪分数。游戏本身没有任何数据库。当我部署到heroku时,我得到了这种类型的错误

ProgrammingError at /
relation "django_session" does not exist
LINE 1: SELECT (1) AS "a" FROM "django_session" WHERE "django_sessio...
                               ^
Request Method: GET
Request URL:    https://lesgogo.herokuapp.com/
Django Version: 3.0.7
Exception Type: ProgrammingError
Exception Value:    
relation "django_session" does not exist
LINE 1: SELECT (1) AS "a" FROM "django_session" WHERE "django_sessio...
                               ^
Exception Location: /app/.heroku/python/lib/python3.8/site-packages/django/db/backends/utils.py in _execute, line 86
Python Executable:  /app/.heroku/python/bin/python
Python Version: 3.8.3
Python Path:    
['/app/.heroku/python/bin',
 '/app',
 '/app/.heroku/python/lib/python38.zip',
 '/app/.heroku/python/lib/python3.8',
 '/app/.heroku/python/lib/python3.8/lib-dynload',
 '/app/.heroku/python/lib/python3.8/site-packages']
Server time:    Sat, 13 Jun 2020 04:00:23 +0000

我尝试过的:

  • 在没有 views.py(该文件中带有会话的逻辑部分)的情况下成功部署到 heroku,img 和 css 等静态文件已正确加载/显示
  • 我是here 并尝试过:
python manage.py migrate --fake sessions zero
# then your sessions migrate will be
python manage.py showmigrations
sessions
 [ ] 0001_initial
# then migrate with --fake-initial again
python manage.py migrate --fake-initial

添加,然后推回heroku,没有用。

  • 我的 settings.py 文件几乎是默认的,所以所有中间件都在那里,我只是添加了我的应用名称

INSTALLED_APPS = [
    'myapp',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

我正在使用的版本

python-3.8.3
asgiref==3.2.7
dj-database-url==0.5.0
Django==3.0.7
django-heroku==0.3.1
gunicorn==20.0.4
psycopg2==2.8.5
pytz==2020.1
sqlparse==0.3.1
whitenoise==5.1.0

PS:这是我的第一篇文章。谢谢!

【问题讨论】:

  • 起来,请帮帮忙

标签: python django database heroku deployment


【解决方案1】:

在这个链接ProgrammingError: relation "django_session" does not exist(就是你上面提到的链接)中的建议之后,我做了

heroku run python manage.py makemigrations sessions
heroku run python manage.py migrate sessions

【讨论】:

  • 我收到了这个错误Warning: heroku update available from 7.47.6 to 7.51.0. › Error: Missing required flag: › -a, --app APP parent app used by review apps
猜你喜欢
  • 2019-01-24
  • 1970-01-01
  • 2018-10-25
  • 2018-10-11
  • 1970-01-01
  • 2021-01-03
  • 2014-11-30
  • 2015-10-05
  • 1970-01-01
相关资源
最近更新 更多