我一直在为每个想要映射到url文件的方法构建一个处理程序类。我的方法是正确还是错误?因为我似乎找不到将资源映射到方法的方法,它们都映射到整个类。
问候,
答案 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请求上调用在POST上调用
read
,并且 永远不应该修改数据(幂等。)在PUT上调用
create
并创建 新对象,应该返回它们 (或rc.CREATED
。)在DELETE上调用
update
,并且应该 更新现有产品并返回 他们(或rc.ALL_OK
。)
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),
)