PostgreSQL: 使用Django连接PostgreSQL
本文件是入门指南指南的一部分。您可以在这里查看完整指南:如何开始使用PostgreSQL。
👋 欢迎来到 Stackhero 文档!
Stackhero 提供全托管的 PostgreSQL cloud 服务,专为高可靠性与高速度设计:
- 无限制连接与数据传输,轻松实现弹性扩展。
- 内置 PgAdmin 网页界面,便于直观管理数据库。
- 常用扩展已集成,如
PostGIS、TimescaleDB和PgVector。- 一键升级,让您的数据库始终安全且保持最新。
- 私有专属基础设施,确保高性能与强安全性。
您只需几分钟即可开始使用 Stackhero 的 PostgreSQL cloud hosting。享受可靠的数据库体验,节省宝贵的数据管理时间。
如果尚未安装,请安装psycopg模块,它将用于连接PostgreSQL:
pip install psycopg
在此初始步骤中,您将密码直接存储在settings.py文件中。此方法仅用于测试,因为它不安全。在本文档的后面,您将找到一个最佳实践示例。
打开settings.py文件并添加以下配置:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'HOST': '<XXXXXX>.stackhero-network.com',
'PORT': <PORT>,
'OPTIONS': {
'sslmode': 'require',
},
'NAME': 'admin',
'USER': 'admin',
'PASSWORD': '<ADMIN_PASSWORD>'
}
}
注意:此示例不建议用于生产,仅用于测试目的!
一旦您的连接正常工作,您可以采用更安全的方法来存储凭据。以下示例使用django-environ并将凭据存储在.env文件中。
-
安装
django-environ:pip install django-environ -
打开
settings.py文件并按如下方式修改:import environ env = environ.Env() environ.Env.read_env() DATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'HOST': env('STACKHERO_POSTGRESQL_HOST'), 'PORT': <PORT>, 'OPTIONS': { 'sslmode': 'require', }, 'NAME': 'admin', 'USER': 'admin', 'PASSWORD': env('STACKHERO_POSTGRESQL_ADMIN_PASSWORD') } } -
在与
settings.py相同的目录中打开或创建.env文件并添加:STACKHERO_POSTGRESQL_HOST=<XXXXXX>.stackhero-network.com STACKHERO_POSTGRESQL_ADMIN_PASSWORD=<ADMIN_PASSWORD> -
最后,将
.env添加到您的.gitignore文件中,以确保您的凭据不会存储在Git存储库中:
echo ".env" >> .gitignore