活塞-django单个处理程序应包含多少个方法

时间:2011-06-24 09:26:50

标签: python django django-piston

我一直在为每个想要映射到url文件的方法构建一个处理程序类。我的方法是正确还是错误?因为我似乎找不到将资源映射到方法的方法,它们都映射到整个类。

问候,

1 个答案:

答案 0 :(得分:0)

文件似乎很清楚https://bitbucket.org/jespern/django-piston/wiki/Documentation#!resources

from piston.handler import BaseHandler
from myapp.models import Blogpost

class BlogpostHandler(BaseHandler):
   allowed_methods = ('GET',)
   model = Blogpost   

   def read(self, request, post_slug):
      ...
  

Piston可让您将资源映射到   模型,通过这样做,它将做一个   对你来说很重要。

     

资源可以只是一个类,但是   通常你会想要定义   4种方法中的至少1种:

     在GET请求上调用

read,并且   永远不应该修改数据(幂等。)

     在POST上调用

create并创建   新对象,应该返回它们   (或rc.CREATED。)

     在PUT上调用

update,并且应该   更新现有产品并返回   他们(或rc.ALL_OK。)

     在DELETE上调用

delete,并且应该   删除现有对象。不应该   只返回rc.DELETED

另外https://bitbucket.org/jespern/django-piston/wiki/Documentation#!mapping-urls

在urls.py中:

from django.conf.urls.defaults import *
from piston.resource import Resource
from mysite.myapp.api.handlers import BlogpostHandler

blogpost_handler = Resource(BlogpostHandler)

urlpatterns = patterns('',
   url(r'^blogpost/(?P<post_slug>[^/]+)/', blogpost_handler),
   url(r'^blogposts/', blogpost_handler),
)