|  | # -*- coding: utf-8 -*-
from django.contrib.auth.hashers import check_password
from django.contrib.auth.models import User, Group
from django.http import JsonResponse
from rest_framework import viewsets
from account.models import LensmanInfo
from account.serializers import UserSerializer, GroupSerializer, LensmanInfoSerializer
# curl -X POST -F username=xxxxxxx -F password=xxxxxxx http://api.xfoto.com.cn/login
def user_login(request):
    username = request.POST.get('username', '')
    password = request.POST.get('password', '')
    try:
        lensman = LensmanInfo.objects.get(username=username)
    except LensmanInfo.DoesNotExist:
        return JsonResponse({
            'status': 4000,
            'message': u'用户不存在',
        })
    if not check_password(password, lensman.encryption):
        return JsonResponse({
            'status': 4001,
            'message': u'用户密码错误',
        })
    return JsonResponse({
        'status': 200,
        'message': u'登录成功',
        'data': {
            'user': lensman.lensman_id
        },
    })
class UserViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows users to be viewed or edited.
    """
    queryset = User.objects.all().order_by('-date_joined')
    serializer_class = UserSerializer
class GroupViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows groups to be viewed or edited.
    """
    queryset = Group.objects.all()
    serializer_class = GroupSerializer
class LensmanInfoViewSet(viewsets.ModelViewSet):
    queryset = LensmanInfo.objects.all().order_by('-created_at')
    serializer_class = LensmanInfoSerializer
 |