これが目的ですprepend_urls
- カスタム エンドポイントを既存のメソッドに追加できます。すぐに使用できるこれらはプレーン ビューと同じように機能しますが、リソースから必要なすべての関数を呼び出すことができるようになり、HttpResponse
既存の Tastypie 関数にプレーン s またはピギーバックを返してリッチ オブジェクトを返すことができます。
たとえば、リソースがあり、ユーザーがorUser
を返すことによって現在認証されているかどうかを判断するためのエンドポイントを提供したい場合、次のようにします。1
0
def prepend_urls(self):
return [
#...
url(r"^(?P<resource_name>%s)/is_authenticated?$" % (self._meta.resource_name), self.wrap_view('is_authenticated')),
#...
]
# ...other methods in your Resource...
def is_authenticated(self, request, **kwargs):
if self._meta.authentication.is_authenticated(request):
return HttpResponse("1")
else:
return HttpResponse("0")
または、認証されたユーザーの実際のユーザー リソースを実際に返したい場合は、(たとえば)への呼び出しを効果的にシミュレートする -return HttpResponse("1")
に置き換えることができます。return self.get_detail(request, id=request.user.id)
/user/?id=[authenticated user's ID]