gpt4 book ai didi

Heroku 上的 Django settings.py + dj_database_url?

转载 作者:行者123 更新时间:2023-12-04 23:26:04 25 4
gpt4 key购买 nike

我正在关注 Heroku 上的 Django 入门 - 它显示设置 dj_database_url ...

DATABASES = {'default': dj_database_url.config(default='postgres://localhost')}

我应该完全按照上面的方式离开吗?这就是我所做的 - 我的网站似乎工作得很好......

或者

我是否应该用 DATABASE_URL 替换上面的内容——它是从 heroku 配置设置中提取的?

没有在任何地方使用 DATABASE_URL - 它似乎正在使用上述设置在 heroku 上工作并且没有变化......但是当我用 pg:info 查看数据库时 - 我得到 0 个连接......这让我想到没有与 postgresql 的连接——但是它是如何工作的??

我还不太明白 dj_database_url 是如何用这个在 Heroku 上工作的……有人能对此多一点了解吗?
heroku pg:info
=== HEROKU_POSTGRESQL_GOLD_URL (DATABASE_URL)
Plan: Dev
Status: available
Connections: 0
PG Version: 9.1.6
Created: 2012-10-07 16:11 UTC
Data Size: 6.6 MB
Tables: 12
Rows: 27/10000 (In compliance)
Fork/Follow: Unavailable

最佳答案

它是正确的。

在 Heroku 上运行时,有一个环境变量集( DATABASE_URL ),其中包含数据库 URL(类似 postgres:// 的字符串,但具有很长的自动生成的用户名/密码/数据库名称,并且主机通常在 amazonaws 上)

在本地运行时,DATABASE_URL未设置,所以您的 default = '...'改为使用数据库 URL(允许您在本地运行代码进行开发,并部署到 Heroku,而无需更改任何代码)。

这是基于 "12factor methodology" (整个文档几乎描述了 Heroku 的结构)
dj_database_url.config只需从 URL 解析用户名/密码/主机/数据库名称,并将其拆分为 dictionary format expected by Django - the code很简单,如果你很好奇

关于Heroku 上的 Django settings.py + dj_database_url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12771167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com