Heroku不能连接到我的django数据库



我的数据库是默认的sqlite3数据库,我尝试了多个项目,但Heroku不会连接到数据库,希望你们能帮助我我是新来的Heroku我不知道我是否错过了什么

这些是我为Heroku设置的设置,我没有静态文件


import django_heroku
import dj_database_url
ALLOWED_HOSTS = ['*']
DATABASES = {
'default': dj_database_url.config()
}
django_heroku.settings(locals())

Django在Heroku上的典型使用包括使用Postgres SQL作为数据库。您的本地开发和测试数据将使用SQLite,但当您发布站点并运行迁移时,在Heroku配置的数据库将是Postgres SQL。这不会将本地数据库的数据推送到生产环境。

生产数据库将具有与本地数据库相同的表,但将为空。如果你在本地有数据,你可以创建脚本或使用Django的import/export来加载数据。

Heroku的Getting Started with python/Django walkthrough值得一读,以了解如何配置数据库。

SQLite是磁盘上的数据库,它对于开发目的非常有用,然而,像Heroku这样的服务期望您的服务器端代码是无状态的,因此不允许使用像SQLite这样的数据库。由于Heroku的dynos没有跨部署持久存储的文件系统,像SQLite3这样基于文件的数据库将不适合。

我猜你可以让它工作(提供你找到一个地方在Heroku的磁盘,把你的SQLite数据库),但你会不断失去你的数据库的内容,每次你重新部署。

Heroku确实有Postgres产品。然而,这将是适合的——有一个免费的层次和一个基本的9美元/月的层次,这对爱好/小项目很好。与SQLite相比,最大的好处是您可以获得备份,否则您将无法获得备份(加上所有其他Postgres功能)。

这里有一个更新settings.py以使用Postgres的指南:https://devcenter.heroku.com/articles/getting-started-with-django#django-settings

最新更新