Файловая система Heroku эфемерна : любые изменения, сделанные вами в файлах, будут потеряны при следующем перезапуске вашего динамометра, что происходит часто (по крайней мере, один раз в день).Поскольку SQLite - это файловая база данных, она несовместима с Heroku.
Вместо этого вы можете использовать базу данных клиент-сервер.Heroku собственная PostgreSQL надстройка должно быть уже установлена для вас, но вы можете использовать любого из нескольких других если вы предпочитаете.
1012 *
dj-database-url
может упростить это для вас: он позволяет вам настроить конфигурацию базы данных из переменной среды
DATABASE_URL
, которая уже должна быть настроена Heroku Postgres.
Вот пример использования dj-database-url
использовать переменную окружения DATABASE_URL
, если она присутствует, и перейти к другой базе данных, если ее нет:
DATABASES['default'] = dj_database_url.config(default='sqlite://db.sqlite3')
Я показал пример, который обращается к SQLite, но на самом деле я strongy рекомендуем использовать один и тот же механизм базы данных во всех ваших средах.ORM в Django помогает «выровнять» различные механизмы баз данных, но есть все еще различия.Вы не хотите находиться в положении, когда ваш код работает локально с SQLite, но не работает в PostgreSQL.