当前位置: 首页 > 知识库问答 >
问题:

Django(djongo)在Heroku部署后无法连接到MondoDB Atlas

狄阳秋
2023-03-14

我设法让它在本地工作(不同的集群,单独的settings.py),但不是在部署到Heroku之后。

Heroku-自动添加DATABASE_URL配置var与postgresql,我不能删除/编辑它。

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",
        }
    }
}

我在部署后直接运行迁移,它都是绿色的OKheroku运行pythonmanage.py迁移

一切都在功能上正常工作,只是数据没有存储在MongoDB Atlas集群中。这里有很多来自不同网站的帖子,但它们都有不同的说明...我尝试关注的一些帖子:

  • https://developer.mongodb.com/how-to/use-atlas-on-heroku/
  • Django Heroku MongoDB Atlas(Djongo)=没有异常的数据库错误
  • 将Heroku应用程序连接到Atlas MongoDB云服务

一个非常困惑的初学者

共有3个答案

曹泉
2023-03-14

我也有同样的问题。当地一切正常。问题是在Heroku上部署时。我添加了“authMechanism”:“SCRAM-SHA-1”,还通过添加MongoDB\u URI配置变量将MongoDB配置为我的数据库。Heroku仍然使用postgresql自动配置数据库URL配置变量,我无法删除/编辑它。

在我的Javascript代码中,我使用了fetch('127.0.0.1:8000/

将我的应用程序部署到Heroku(并将127.0.0.1:8000硬编码到

这是我在一篇文章中发现的最相同的问题,我希望我没有跑题。

史淇
2023-03-14

这也发生在我身上,就我而言,Heroku以某种方式将postgresql添加为我的应用程序的附加组件,因此必须先删除它。查看Heroku留档关于postgresql以及如何销毁附加组件:https://devcenter.heroku.com/changelog-items/438

https://devcenter.heroku.com/articles/managing-add-ons

然后,您需要通过添加带有数据库url的MONGODB_URIconfig var来将MongoDB配置为您的数据库。您现在应该准备好连接到您的MongoDB了!

以下文档也有帮助:https://www.mongodb.com/developer/how-to/use-atlas-on-heroku/

阳文轩
2023-03-14

不管是谁降落在这里。在下面添加“authMechanism”:“SCRAM-SHA-1”,将解决此问题。

 类似资料:
  • 问题内容: 香港专业教育学院一直试图与heroku合作。我可以成功地使其在开发模式下工作,但是当我尝试推送到heroku时,我得到了 然后,我阅读并关注了http://blog.redistogo.com/2010/07/26/resque-with-redis-to- go/ 我把站点中列出的配置放了,但是出现了以下错误 我把我的初始化器/ resque.rb 但是它引发了上面提到的错误。在我的

  • 我在部署到登台时遇到了一些问题,希望任何人都能提出一个解决方案。 所以我用Capistrano部署Rails4来做Droplet。我在不同的液滴上有生产/分期分支(实际上我是第一次部署分期,无法使其工作)。部署进行得很好,我已经在“当前”文件夹中准备好了我的应用程序。但我有麻烦的是创建数据库。当我跑的时候 rails_env=Production bundle exec rake DB:CREAT

  • 问题内容: 因此,我正在遵循来自Heroku和Django的入门指南。但是,当我运行此命令时: 我得到这个错误 我以为这意味着尚未设置数据库…所以我也手动添加了shared_db选项: 但是..我仍然收到相同的错误。是什么赋予了? 问题答案: 我的应用程序结构已关闭… heroku希望结构看起来像这样:

  • 我正在尝试将Python中的API部署到Heroku。我得到这个错误,我不知道如何修复它们。 Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是行业标准的虚拟文本,当时一位不知名的印刷商拿起一个打印工具,将其拼凑成一本打印样本书。它不仅存活了五个世纪,而且还跨越到电子排版,基本上保持不变。它在20世纪60年代随着包含Lorem Ipsum段落的Letr

  • 当我试图在heroku上部署springboot应用程序时,出现了以下错误: 无法执行目标org.apache.Maven.plugins:maven-compiler-plugin:3.8.1:在项目后端编译(default-compile):错误编译:无效的目标版本:11->[Help 1]Remote:[error]Remote:[error]要查看错误的全部堆栈跟踪,请使用-e开关重新运行