我正在开发我的第一个 Django 项目。我已经在主机上创建了一个 Postgresql 数据库(我的项目已经在该主机上),该数据库也可以在公共网络上访问。我可以连接到本地计算机上的数据库,以便创建数据库。但在生产中,我试图迁移到数据库,但我得到了
FATAL: database "postgre" does no t exist
我尝试将其连接到本地的公共网络主机和端口,但仍然遇到相同的错误。
这是我的数据库代码:
DATABASES = {
'default': {
'ENGINE': config('ENGINGE', default='django.db.backends.postgresql'),
'NAME': config('NAME', default='postgre'),
'USER': config('USER', default='postgre'),
'PASSWORD': config('PASSWORD', default='postgre'),
'HOST': config('HOST', default='postgre'),
'PORT': config('PORT', default='5432'),
}
}
我用 .env 传递变量。 我也尝试像这样与
dj-database-url
连接 :
DATABASES = DATABASES['default'] = dj_database_url.config('DATABASE_URL')
在这两种情况下我都遇到了相同的错误。 有人知道这里出了什么问题吗?
这里可能有两个问题:
检查变量是否确实被访问并交叉验证提供的默认值。
您可能没有运行命令来应用初始数据库迁移。您可以通过运行以下命令来实现此目的:
python manage.py makemigrations
python manage.py migrate
然后您可以像往常一样运行服务器:
python manage.py runserver