Bat*_*man 7 django postgresql amazon-web-services django-database
我在AWS上创建了一个PostgreSQL数据库,我想将它用于Django项目.
我修改了settings.py以便它有
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': <db name>,
'USER': <user>,
'PASSWORD': <password>,
'HOST': 'projectdevelopment.foobar.us-east-1.rds.amazonaws.com',
'PORT': '5432',
}
}
Run Code Online (Sandbox Code Playgroud)
我认为这看起来很简单.除了当我尝试进行迁移时,我收到此错误:
django.db.utils.OperationalError: could not translate host name "projectdevelopment.foobar.us-east-1.rds.amazonaws.com" to address: nodename nor servname provided, or not known
Run Code Online (Sandbox Code Playgroud)
该值projectdevelopment.foobar.us-east-1.rds.amazonaws.com已直接从RDS控制台中端点下的值复制.
我错过了一个设置,还是配置错误了?或两者?
确保服务器已启动并从Amazon端运行.
检查一下issue,他们有同样的问题.
要么
尝试使用'ENGINE' = 'django.db.backends.postgresql_psycopg2',检查一下SO answer
要么
尝试分配DATABASE_URL将RDS postgres连接到您的django应用程序.
DATABASE_URL=postgis://<user>:<password>@<host>:<port>/<db-name>
Run Code Online (Sandbox Code Playgroud)
注意:按照相同的语法进行声明
DATABASE_URL,请检查上面url中的这些特殊字符.
:在用户和密码之间,@密码和主机之间,:主机和端口之间,/端口和数据库名称之间
并将其分配给settings.py中的 DATABASES
DATABASES['default'] = DATABASE_URL
Run Code Online (Sandbox Code Playgroud)
在你的情况下
DATABASE_URL将是.postgis://
<user>:<password>@projectdevelopment.foobar.us-east-1.rds.amazonaws.com:5432/<db name>
5432是postgres服务器使用的默认端口
| 归档时间: |
|
| 查看次数: |
3262 次 |
| 最近记录: |