2013-07-10 62 views

回答

4

如果你正在使用Django,我會推薦一個由API庫和一個體面的MongoDB模式層組成的堆棧(如果需要的話)。

例如:

話雖這麼說,你的API定義你的模型,我覺得MongoDB是不是Django的完美搭配。 Django提供了很多設施,例如數據庫同步,這些設置可以解決NoSQL數據庫很容易解決的相同問題。

Django提供的一些額外功能(如管理界面)可能無法在NoSQL中直接使用。我知道有Django-nonrel試圖彌補這個差距(https://github.com/django-nonrel),但說實話,我不確定它是否非常穩定或者它是否仍在開發中。

更簡單一點的替代方案可能是簡單地將Flask(http://flask.pocoo.org/)與MongoEngine和Flask-RESTful(https://github.com/twilio/flask-restful)結合使用。

證明了概念的結構爲這樣的應用:

from flask import Flask 
from flask.ext import restful 
from mongoengine import connect, Document 

# MongoEngine model 
class User(Document): 
    email = StringField(required=True) 

app = Flask(__name__) 
api = restful.Api(app) 
connect('yourdb') # connect to Mongo 

class MyAPI(restful.Resource): 
    def get(self): 
     return User.objects 

api.add_resource(MyAPI, '/') 

if __name__ == '__main__': 
    app.run(debug=True) 

+0

非常感謝。還有一個問題,我如何配置Flask來使用我的Apache ModWsgi設置? –

+1

@ZachWild查看這裏的文檔:http://flask.pocoo.org/docs/deploying/mod_wsgi/雖然我得說我個人更喜歡gunicorn儘可能:http://gunicorn.org/ – jsalonen

相關問題