【发布时间】:2021-08-05 09:11:04
【问题描述】:
我设法让它在本地工作(不同的集群,单独的 settings.py),但在部署到 Heroku 之后就不行了。
Heroku - 使用 postgresql 自动添加 DATABASE_URL 配置变量,我无法删除/编辑它。
MongoDB Atlas - 我已将 MongoDB Atlas 集群设置为允许来自任何地方的 IP。并且密码没有有趣的字符。
django 生产设置.py
DATABASES = {
'default': {
'ENGINE': 'djongo',
'NAME': 'DBProd',
'CLIENT': {
'host': "mongodb+srv://XXX:YYY@ZZZ.pc4rx.mongodb.net/DBProd?retryWrites=true&w=majority",
}
}
}
我在部署后直接运行迁移,一切正常
heroku run python manage.py migrate
一切正常,只是数据没有存储在 MongoDB Atlas 集群中。有很多来自各个网站的帖子,但它们都有不同的说明......我尝试关注的一些帖子:
- https://developer.mongodb.com/how-to/use-atlas-on-heroku/
- Django + Heroku + MongoDB Atlas (Djongo) = DatabaseError with No Exception
- Connecting Heroku App to Atlas MongoDB Cloud service
-- 一个很迷茫的初学者
【问题讨论】:
-
我删除了 postgresql 插件。但是现在当我尝试从 herokuapp 添加数据时,我得到“服务器错误(500)”。 “MongoDB 读写操作”图表上有一些时刻,所以我猜它已连接但某些配置不匹配?
标签: python django mongodb heroku djongo