我的项目中有django 1.5中的自定义用户模型资源,所有内容都适用于tastypie( / api / v1 / users,/ api / v1 / users / 1 ...)
我想创建一个customu url,只是为了使用登录的用户帐户。 因此,例如,如果登录id = 1的用户而不是 / api / v1 / users / 1 链接,我想要 / api / v1 / users / loggedin 始终指向登录用户(request.user)帐户的链接。
最好的方法是什么...谢谢
答案 0 :(得分:0)
在您的用户资源中创建自定义网址和功能。下面的示例代码未经测试,但应该
def override_urls(self):
return [
url(r"^users/loggedin/$",
self.wrap_view('get_auth_user'), name="api_get_auth_user")
]
def get_search(self, request, **kwargs):
self.method_check(request, allowed=['get'])
self.is_authenticated(request)
self.is_authorized(request)
self.throttle_check(request)
auth_user = request.user.is_authenticated() ? {} : this.obj_get(request, pk=request.user.id)
self.log_throttled_access(request)
return self.create_response(request, auth_user)
答案 1 :(得分:0)
这使得向模型添加自定义操作变得更加容易。 https://github.com/thelonecabbage/django-tastypie-actions