0

我在这里遵循了这个示例,因为我想为我的 django 应用程序添加使用美味的登录。由于不推荐使用的方法,我进行了必要的更正并运行了它。注销过程正常工作。但是我在登录页面出现错误。

expected string or buffer

和一个 500 状态码。当我尝试反序列化发布的数据时出现错误。登录视图如下

 def login(self, request, **kwargs):
    self.method_check(request, allowed=['post',])
    try:
        data = self.deserialize(request, HttpRequest.body, format=request.META.get('CONTENT_TYPE', 'application/json'))
    except BaseException as e:
        print e

    username = data.get('username', '')
    password = data.get('password', '')
    print username, password

    user = authenticate(username=username, password=password)
    if user:
        if user.is_active:
            print 'Before login'
            login(request, user)
            return self.create_response(request, {
                'success': True
            })
        else:
            return self.create_response(request, {
                'success': False,
                'reason': 'disabled',
                }, HttpForbidden )
    else:
        return self.create_response(request, {
            'success': False,
            'reason': 'incorrect',
            }, HttpUnauthorized )

我使用python请求发布数据进行测试

data = {'username':'user', 'password':'pass}
parmas = json.dumps(data)
headers = {'content-type': 'application/json'}
resp = requests.post('http://127.0.0.1:8000/api/v1/user/login/', data=params, headers=headers)

这个错误是什么意思?

4

0 回答 0