Tastypie自定义URL登录用户帐户

时间:2013-06-23 06:21:17

标签: tastypie

我的项目中有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)帐户的链接。

最好的方法是什么...谢谢

2 个答案:

答案 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