catspeake
我们将Django用于RESTful Web服务。请注意 - 开箱即用 - Django没有足够的细粒度认证来满足我们的需求。我们使用了Django-REST接口,它有很多帮助。[我们已经推出了自己的产品,因为我们做了很多扩展,它已成为维护的噩梦。]我们有两种URL:“html”URL实现面向人的HTML页面,“json”URL实现面向Web服务的处理。我们的视图功能通常如下所示。def someUsefulThing( request, object_id ):
# do some processing
return { a dictionary with results }def htmlView( request, object_id ):
d = someUsefulThing( request, object_id )
render_to_response( 'template.html', d, ... )def jsonView( request, object_id ):
d = someUsefulThing( request, object_id )
data = serializers.serialize( 'json', d['object'], fields=EXPOSED_FIELDS )
response = HttpResponse( data, status=200, content_type='application/json' )
response['Location']= reverse( 'some.path.to.this.view', kwargs={...} )
return response关键是有用的功能是从两个演示中分解出来的。JSON演示文稿通常只是请求的一个对象。HTML演示文稿通常包括各种导航辅助工具和其他帮助人们提高工作效率的上下文线索。该jsonView功能都非常相似,它可以是一个有点讨厌。但它是Python,所以如果有帮助的话,让它们成为可调用类的一部分或编写装饰器。