繁体   English   中英

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

[英]piston-django how many methods should a single handler contain

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

问候,

这些文档看起来非常清晰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种方法中的至少一种:

read是在GET请求上调用的,永远不要修改数据(幂等)。

在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),
)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM