使用tastypie API并为用户资源实现一些功能(遵循此示例代码:如何使用tastypie登录django),我想知道如何存放经过身份验证的用户或如何以正确的方式访问它.在测试登录方法时:
curl -u "user:pw" -H "Content-Type: application/json" -X POST --data '{"username" : "user", "password": "pw"}' http://localhost:8000/api/user/login/?format=json
Run Code Online (Sandbox Code Playgroud)
一切正常; 但是logout方法将request.user视为匿名用户.如何向正确认证的用户传递注销方法?非常感谢.
来自api.py的片段
class UserResource(ModelResource):
class Meta:
queryset = AppUser.objects.all()
resource_name = 'user'
fields = ['first_name', 'last_name', 'username', 'email', 'is_staff']
allowed_methods = ['get', 'post', 'patch']
always_return_data = True
authentication = BasicAuthentication()
authorization = Authorization()
def prepend_urls(self):
params = (self._meta.resource_name, trailing_slash())
return [
url(r"^(?P<resource_name>%s)/login%s$" % params, self.wrap_view('login'), name="api_login"),
url(r"^(?P<resource_name>%s)/logout%s$" % params, self.wrap_view('logout'), name="api_login")
]
def login(self, request, **kwargs):
"""
Authenticate a user, …Run Code Online (Sandbox Code Playgroud)