修补Tastypie 0.12系列南部。
django-tastypie-legac的Python项目详细描述
从2010年开始为django应用程序创建美味的api。
目前处于beta版本(v0.12.2)中,但在几个 地点。
要求
核心
- python 2.6+或python 3.3+
- Django 1.5至Django 1.8
- dateutil(http://labix.org/python-dateutil)>;=2.1
格式支持
- xml:lxml 3(http://lxml.de/)和defusedxml(https://pypi.python.org/pypi/defusedxml)
- yaml:pyyaml(http://pyyaml.org/)
- 二进制plist:biplist(http://explorapp.com/biplist/)
可选
- http摘要身份验证:python3摘要(https://bitbucket.org/akoha/python-digest/)
它是什么样子的?
基本示例如下:
# myapp/api.py# ============fromtastypie.resourcesimportModelResourcefrommyapp.modelsimportEntryclassEntryResource(ModelResource):classMeta:queryset=Entry.objects.all()# urls.py# =======fromdjango.conf.urls.defaultsimport*fromtastypie.apiimportApifrommyapp.apiimportEntryResourcev1_api=Api(api_name='v1')v1_api.register(EntryResource())urlpatterns=patterns('',# The normal jazz here then...(r'^api/',include(v1_api.urls)),)
这将为Entry模型提供一个完全工作的读写api 以restful方式支持所有crud操作。已经支持json/xml/yaml 在那里,很容易添加相关的数据/身份验证/缓存。
您可以在以下文档中找到更多信息 http://django-tastypie.readthedocs.org/。
为什么是口味?
django还有其他更为人熟知的api框架。你需要 评估可用的选项并自己决定。也就是说,这里有一些 品味的常见原因。
- 您需要一个restful和使用http的api。
- 你想支持深厚的关系。
- 您不需要编写自己的序列化程序才能使输出正确。
- 您需要/需要与json同等对待的xml序列化(yaml是 也在那里)。
- 你想支持我所认为的NIH综合症,这与NIH的关系越来越小 帮助朋友/同事。
标准物质
安全性
TaSpPe致力于提供灵活、安全的API,并被设计 考虑到许多安全特性和选项。由于复杂的性质 API和不断发现的新攻击向量和漏洞, 没有一个软件能对安全漏洞免疫。我们依靠我们的社区报告 帮助我们调查安全问题。
如果遇到安全漏洞,请不要打开github问题。 相反,在tastypie-security@googlegroups.com
然后我们一起调查并解决问题 宣布解决方案和漏洞。