2013-06-23 58 views
0

我有一個在我的項目中的django 1.5自定義用戶模型的資源和一切工作與tastypie偉大(/api/v1/users,/ api/v1/users/1。 ..)Tastypie自定義url登錄用戶帳戶

我想創建一個customu網址只是爲了使用已登錄的用戶帳戶。 因此,例如,如果用戶id = 1登錄,而不是/api/v1/users/1鏈接我想有/api/v1/users/loggedin始終指向已登錄的鏈接用戶(request.user)帳戶。

什麼是做到這一點的最好辦法...謝謝

回答

0

創建用戶資源的自定義URL和功能。下面的示例代碼未經測試,但應該是

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) 
0

這使得向模型添加自定義操作變得更容易。 https://github.com/thelonecabbage/django-tastypie-actions

+0

請注意,[只有鏈接的答案](http://meta.stackoverflow.com/tags/link-only-answers/info),所以答案應該是搜索的結束點解決方案(而另一個參考文獻的中途停留時間往往會隨着時間推移而過時)。請考慮在此添加獨立的摘要,並將鏈接保留爲參考。 – kleopatra