如何使用MongoEngine后端在Django中创建简单的REST API?

时间:2011-11-30 22:28:08

标签: django api rest mongoengine tastypie

Tastypie看起来很有前途,现在并没有那么多:

http://django-tastypie.readthedocs.org/en/latest/non_orm_data_sources.html

我应该使用SimpleAPI还是有更好的解决方案?

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

我曾经使用django-piston。你应该尝试一下,很容易创建一个rest api并且它与django集成。

我读过它可以用MongoEngine完成,但从未尝试过。

答案 2 :(得分:0)

最终解决方案是使用django-tastypie + django-tastypie-mongoengine:

https://github.com/mitar/django-tastypie-mongoengine

安装完成后,在您的应用中添加一个resource.py,代码如下:

from models.account import MAccount
from models.company import MCompany


class AccountResource(resources.MongoEngineResource):
        class Meta:
                serializer = CustomSerializer()
                queryset = MAccount.objects.all()
                allowed_methods = ('get', 'post', 'put','delete')
                resource_name = 'account'
                authorization= tastypie_authorization.Authorization()

然后,如果您的urls.py文件添加此代码:

v1_api = api.Api(api_name='v1')
v1_api.register(resources.AccountResource())
urlpatterns += patterns('', (r'^m/api/', include(v1_api.urls)))

最后,你应该能够点击像

这样的API

/米/ API / V1 /帐户/?格式= JSON