Tastypie的Django View方法

来源:互联网 发布:网管监控软件 编辑:程序博客网 时间:2024/06/05 23: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_nametrailing_slash())self.wrap_view('dispatch_list')name="api_dispatch_list"),
        url(r"^(?P<resource_name>%s)/schema%s$" % (self._meta.resource_nametrailing_slash())self.wrap_view('get_schema')name="api_get_schema"),
        url(r"^(?P<resource_name>%s)/set/(?P<%s_list>.*?)%s$" % (self._meta.resource_nameself._meta.detail_uri_nametrailing_slash())self.wrap_view('get_multiple')name="api_get_multiple"),
        url(r"^(?P<resource_name>%s)/(?P<%s>.*?)%s$" % (self._meta.resource_nameself._meta.detail_uri_nametrailing_slash())self.wrap_view('dispatch_detail')name="api_dispatch_detail"),
   
0 0