Mongoengine,flask-MongoEngine和Django-MongoEngine之间的区别?

时间:2014-06-18 07:19:40

标签: python django mongoengine flask-mongoengine django-mongodb-engine

Mongoengine,flask-MongoEngine和Django-MongoEngine项目有什么区别?

我在Django项目中使用Mongoengine。如果我使用Django-MongoEngine,我会获得任何好处吗?

3 个答案:

答案 0 :(得分:1)

Django MongoEngine的目标是提供与Django更好的集成 - 但是目前(2014年6月)它不稳定,自述文件说

  

不要克隆直到

所以要小心!

答案 1 :(得分:0)

flask-mongoengine添加了一些助手,将MongoEngine集成到Flask应用程序中。

  • Flask参数中的连接定义
  • get_or_404 / first_or_404个快捷方式(如果找不到文件,则中止404)
  • paginator已添加到QuerySet对象
  • 使用WTForms生成自动表单

django支持已从Mongoengine移至单独的代码(django-mongoengine)。虽然它没有发布,但似乎已经开始工作(参见recent commits)。

答案 2 :(得分:0)

Django框架提供了一个统一的统一接口来连接到数据库后端,该数据库通常是基于SQL的数据库,例如SQLitePostgresql。这意味着开发人员不必担心编写特定于所用数据库技术的代码,而是可以使用Django数据库接口定义模型,执行事务以及运行各种查询。烧瓶也一样。

Django从一开始就不支持MongoDB。要使用Python与MongoDB数据库,集合和文档进行交互,将使用PyMongo软件包,该软件包的语法和范例与Django模型或Flask的不同。

MongoEngine通过为MongoDB提供类似Django的数据库的方式包装PyMongo。

MongoEngine-Django尝试允许Django Web应用程序开发人员将Mongo数据库用作Web应用程序后端。为了提供Django Admin,Users,Authentication和其他与数据库相关的功能,这些功能通常可以在Django中通过SQL后端使用。

MongoEngine-Flash尝试允许Flask Web应用程序开发人员将Mongo数据库用作Web应用程序后端。

我个人而言,我更喜欢使用结构化的SQL数据库作为Web应用程序的基础知识,并使用PyMongo或MongoEngine来与可能驻留非结构化大数据的任何其他Mongo数据库进行交互...