我使用MongoDB作为我的主要(并且直到现在)数据库,因为谷歌及其提供的链接我在Django或金字塔之间感到困惑。
我对python感到满意,但从未在python中进行过Web开发(我已经在PHP中完成了)。现在因为我将使用Mongo所以我不会使用Django ORM会带走人们与Django相关联的易用性吗?
我是Django的新手(只需几个小时),所以我不确定ORM影响框架的哪些部分。
或者我应该使用带有django-norel的django前叉django mongodb engine(虽然它们没有被主动维护)或者我应该使用金字塔,因为我打算使用jinja2作为我的模板层,这样就可以制作2个部分django对我没用。
从django中取出这些电池后,它仍然是一个适用于截止日期的人的框架吗?
么?
答案 0 :(得分:12)
一两年前,我还在django和金字塔之间决定使用mongodb构建一个高性能的Web应用程序。我最终选择了金字塔:
优点:
缺点:
至于在MongoDB中使用ORM;我建议你先尝试不用一个建筑。在尝试了几个mongodb ORM之后,我最终回到普通pymongo用Colander或Validictory进行验证。 Pymongo已经非常像ORM,快速且灵活。我觉得额外的抽象层剥夺了这种灵活性,并使我编写了比需要更多的代码。
答案 1 :(得分:9)
我将建议一个尚未提及的替代方案:Flask。 Flask有一个非常棒的(尽管比Django小)社区,并且在extensions directory中有很多可用于常见网络应用扩展的扩展。
Flask有几个MongoDB扩展,它有助于将MongoDB集成到框架中,但我也强烈推荐使用mongoengine ORM。其中一位致力于mongoengine的人已经发布了Flask整合的扩展,Flask-MongoEngine。
答案 2 :(得分:3)
尝试一下(Django,Pyramid,Flask),阅读文档,然后你就完成了。 如果您选择Django,您将不会使用它的某些部分(orm,formlib),而这就是全部。
另见此视频: https://www.10gen.com/presentations/mongosf-2011/mongodb-with-python-pylons-pyramid