当前位置: 首页 > 工具软件 > Tastypie > 使用案例 >

Tastypie的Django View方法

孙元明
2023-12-01
默认Tastypie有四个Django View方法。 不考虑Resource.wrap_view方法,当一个请求进入了这几个方法,就说明我们已经从Django进入到Tastypie的世界。
1. dispatch_list 
针对整个Resources列表处理各种HTTP方法(GET/POST/PUT/DELETE)。
这个方法不仅是获得resource列表的功能,而且还包含了创建一个新的Resource Item.
2. get_schema
获得Resource的Schema信息
3. get_multiple
根据URL中的ID获得序列号的Resource列表
4. dispatch_detail
针对一个单独的Resource处理各种HTTP方法(GET/POST/PUT/DELETE)

url pattern生成源码如下:
def  base_urls( self):
    """
    The standard URLs this ``Resource`` should respond to.
    """
    return [
        url( r"^(?P<resource_name>%s)%s$" % ( self._meta.resource_name trailing_slash()) self.wrap_view( 'dispatch_list') name= "api_dispatch_list") ,
        url( r"^(?P<resource_name>%s)/schema%s$" % ( self._meta.resource_name trailing_slash()) self.wrap_view( 'get_schema') name= "api_get_schema") ,
        url( r"^(?P<resource_name>%s)/set/(?P<%s_list>.*?)%s$" % ( self._meta.resource_name self._meta.detail_uri_name trailing_slash()) self.wrap_view( 'get_multiple') name= "api_get_multiple") ,
        url( r"^(?P<resource_name>%s)/(?P<%s>.*?)%s$" % ( self._meta.resource_name self._meta.detail_uri_name trailing_slash()) self.wrap_view( 'dispatch_detail') name= "api_dispatch_detail") ,
   
 类似资料: