urlファイルにマップする各メソッドのハンドラクラスを構築しています。私のアプローチは正しいか間違っていますか?リソースをメソッドにマップする方法を見つけていないように見えるので、クラス全体にマッピングされます。piston-django単一のハンドラに含まれるメソッドの数
よろしく、
urlファイルにマップする各メソッドのハンドラクラスを構築しています。私のアプローチは正しいか間違っていますか?リソースをメソッドにマップする方法を見つけていないように見えるので、クラス全体にマッピングされます。piston-django単一のハンドラに含まれるメソッドの数
よろしく、
ドキュメンテーションは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):
...
ピストンは、あなたが モデルにリソースをマップし、そうすることによって、それがために重い物を持ち上げるの 多くのことを行いますすることができます非常に明確なようです君は。
リソースが で通常ユーザーが定義したいだけのクラスが、 することができ、少なくとも4つの方法の1:
read
は(冪等。)GETリクエストで呼び出され、 は、データを変更することはありません
create
POSTで呼び出され、 新しいオブジェクトを作成し、それらを 返す必要があります(またはrc.CREATED
を。)
update
されますPUTに呼び出され、 既存の製品を更新し、 それら返す必要があります(またはrc.ALL_OK
を。)
delete
はDELETEで呼び出され、 既存のオブジェクトを削除する必要があります。 何も返さないでください。ちょうどrc.DELETED
です。 urls.pyでもhttps://bitbucket.org/jespern/django-piston/wiki/Documentation#!mapping-urls
:
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),
)