首页 > 解决方案 > django heroku 部署 postgres 配置

问题描述

这是我第一次将 Django 应用程序部署到 Heroku 我遵循了Django Heroku 文档

该应用程序已成功部署,但是当我打开该应用程序时出现此错误:

relation "products_category" does not exist
LINE 1: ...ory"."image", "products_category"."catogory" FROM "products_...

这是我在阅读文档后对 settings.py 所做的更改:

import django_heroku
django_heroku.settings(locals())

数据库配置仍在使用 sqlite3 运行:

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.sqlite3',
    'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
   }
  }

那么我需要更改我的设置以正确部署我的应用程序吗?

标签: djangopostgresqlheroku

解决方案


首先,在您的仪表板中,Heroku 应用程序转到设置并摆脱这个 DISABLE_COLLECTSTATIC conf。

在你的 settings.py 添加

STATIC_ROOT  = BASE_DIR / 'staticfiles'

创建一个名为 staticfiles 的目录,并向其中添加 smth(例如 tmp.txt),以确保 git add 。将包括此目录。将所有内容推送到 Heroku,然后使用以下命令:

heroku run python manage.py makemigrations

heroku run python manage.py migrate

推荐阅读