我有一个序列化程序和一个像我这样登录的视图。如何使用django-rest-framework创建一个登录视图
class LoginView(generics.RetrieveAPIView):
serializer_class= LoginSerializer
queryset=User.objects.all()
error_messages = {
'invalid': "Invalid username or password",
'disabled': "Sorry, this account is suspended",
}
def _error_response(self, message_key):
data = {
'success': False,
'message': self.error_messages[message_key],
'user_id': None,
}
def post(self,request):
email = request.POST.get('email')
password = request.POST.get('password')
user = authenticate(email=email, password=password)
if user is not None:
if user.is_active:
login(request, user)
return Response(status=status.HTTP_100_OK)
return self._error_response('disabled')
return self._error_response('invalid')
和串行:
class LoginSerializer(serializers.ModelSerializer):
class Meta:
model=User
fields=('email','password')
我的网址:
(r'^login/$',LoginView.as_view())
当我运行代码我得到一个错误 在/登录/ 预计视图LoginView ImproperlyConfigured是使用名为“pk”的URL关键字参数进行调用。修正你的URL conf,或者在视图上正确设置.lookup_field
属性。
我目前没有重定向在我看来。 我做错了什么?
请你提供你的'urls.py',你如何重定向到您的登录页面。请更新现有的问题。 – Nilesh 2014-09-20 12:39:22
我已经更新了这个问题。 – zacmwa 2014-09-20 13:38:46