在django-tastypie中分别获取Get,POST,PUT和DELETE函数

时间:2013-08-30 08:51:23

标签: python django tastypie

我在新项目中使用tastypie来创建RESTful API。 我想为每个方法(Get,POST,PUT和DELETE)创建单独的函数,并在其中处理不同的逻辑。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您应该从资源中覆盖dispatch方法,然后创建每个函数。如果您想要执行一些简单的逻辑,则可以在调用Resource原始dispatch之后放置代码。代码看起来像这样:

def dispatch(self, request_type, request, **kwargs):
    response = super(Resource, self).dispatch(request_type, request, **kwargs)

    # Pass any parameters that you require to the functions
    if request.method == 'GET':
        custom_get()
    if request.method == 'POST':
        custom_post()
    if request.method == 'PUT':
        custom_put()
    if request.method == 'DELETE':
        custom_delete()

    return response

一般而言,它应该足以达到您的目的,除非您想要对响应做一些更复杂的事情。