django keytype的修补版本--检查readme.rst。
django-tastypie-with-uploads-dummycache-error500的Python项目详细描述
从2010年开始为django应用程序创建美味的api。
目前处于beta版本(v1.0.0-beta)中,但在几个产品中被积极使用 地点。
此修补版本与Django Tastypie之间的差异
此版本包括三个作为请求提交的修补程序 致Django Tastypie的创造者:
- 6BF187D>;如果发生错误500,则异常消息显示在 错误描述,而不是泛型“此请求不能 已处理'。
- 18D7A90>;使用django的dummycache时,cachethrottle不会失败
- 1FBC0A8>;允许在POST请求时上载文件(附件)
一旦这些修补程序包含在源存储库中,此fork将不会 被要求了。
要求
必需
- Python2.5+
- django 1.2+(可能适用于django 1.1)
- mimeparse 0.1.3+(http://code.google.com/p/mimeparse/)
- 旧版本可以工作,但是它们在json/jsonp上的行为有点不稳定。
- dateutil(http://labix.org/python-dateutil)>;=1.5,<;2.0
可选
- python_摘要(https://bitbucket.org/akoha/python-digest/)
- lxml(http://codespeak.net/lxml/),如果使用xml序列化程序
- 如果使用yaml序列化程序,则为pyyaml(http://pyyaml.org/)
- 如果使用二进制plist序列化程序,则为biplist(http://explorapp.com/biplist/)
它是什么样子的?
基本示例如下:
# myapp/api.py # ============ from tastypie.resources import ModelResource from myapp.models import Entry class EntryResource(ModelResource): class Meta: queryset = Entry.objects.all() # urls.py # ======= from django.conf.urls.defaults import * from tastypie.api import Api from myapp.api import EntryResource v1_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的关系越来越小 帮助朋友/同事。
标准物质
- http://github.com/toastdriven/django-tastypie/tree/master/tests/basic显示 Tastypie的基本用法
- http://en.wikipedia.org/wiki/REST
- http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
- http://www.ietf.org/rfc/rfc2616.txt
- http://jacobian.org/writing/rest-worst-practices/
author: | Daniel Lindsley |
---|---|
date: | 2011/09/16 |