PostgreSQL: 使用Django连接PostgreSQL
本文档属于入门指南指南的一部分。您可以在此处查看完整指南:如何开始使用PostgreSQL。
👋 欢迎使用 Stackhero 文档!
Stackhero 提供即用型 PostgreSQL 云 解决方案,具有多种优势,包括:
- 无限连接和数据传输。
- 包含 PgAdmin 网页界面。
- 包含许多 模块,如
PostGIS、TimescaleDB和PgVector。- 只需点击即可轻松完成 更新。
- 由专用私有 VM 提供的最佳 性能 和强大 安全性。
节省时间,简化生活:只需 5 分钟 即可试用 Stackhero 的 PostgreSQL 云托管 解决方案!
如果尚未安装,请安装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