From 8aa92bb688c92e6c9f1952ac5756430bfaeb13ef Mon Sep 17 00:00:00 2001 From: ibuler Date: Wed, 24 Aug 2016 19:42:16 +0800 Subject: [PATCH] Add api: UserApi And UserGroupApi --- apps/users/api.py | 22 +++++++++++++++++----- apps/users/api_urls.py | 11 ++++++----- apps/users/serializers.py | 4 ++-- 3 files changed, 25 insertions(+), 12 deletions(-) diff --git a/apps/users/api.py b/apps/users/api.py index 8532a35c1..a6f70e690 100644 --- a/apps/users/api.py +++ b/apps/users/api.py @@ -1,18 +1,30 @@ # ~*~ coding: utf-8 ~*~ # -from rest_framework import generics -from rest_framework import mixins +from rest_framework import generics, mixins, status, permissions +from rest_framework.views import APIView +from rest_framework.response import Response -from .serializers import UserSerializer +from .serializers import UserSerializer, UserGroupSerializer from .models import User, UserGroup -class UserListApi(generics.ListCreateAPIView): +class UserListAddApi(generics.ListCreateAPIView): queryset = User.objects.all() serializer_class = UserSerializer -class UserDetailApi(generics.RetrieveUpdateDestroyAPIView): +class UserDetailDeleteUpdateApi(generics.RetrieveUpdateDestroyAPIView): queryset = User.objects.all() serializer_class = UserSerializer + + +class UserGroupListAddApi(generics.ListCreateAPIView): + queryset = UserGroup.objects.all() + serializer_class = UserGroupSerializer + + +class UserGroupDetailDeleteUpdateApi(generics.RetrieveUpdateDestroyAPIView): + queryset = UserGroup.objects.all() + serializer_class = UserGroupSerializer + diff --git a/apps/users/api_urls.py b/apps/users/api_urls.py index de783edc4..261fcc458 100644 --- a/apps/users/api_urls.py +++ b/apps/users/api_urls.py @@ -2,11 +2,12 @@ # from django.conf.urls import url, include - -from .api import UserListApi, UserDetailApi - +import api urlpatterns = [ - url(r'^v1/users/$', UserListApi.as_view()), - url(r'^v1/users/(?P[0-9]+)/$', UserDetailApi.as_view()), + url(r'^v1/users/$', api.UserListAddApi.as_view(), name='user-list-api'), + url(r'^v1/users/(?P[0-9]+)/$', api.UserDetailDeleteUpdateApi.as_view(), name='user-detail-api'), + url(r'^v1/usergroups/$', api.UserGroupListAddApi.as_view(), name='usergroup-list-api'), + url(r'^v1/usergroups/(?P[0-9]+)/$', api.UserGroupDetailDeleteUpdateApi.as_view(), + name='usergroup-detail-api'), ] diff --git a/apps/users/serializers.py b/apps/users/serializers.py index fa34618e0..7db537f53 100644 --- a/apps/users/serializers.py +++ b/apps/users/serializers.py @@ -10,8 +10,8 @@ class UserSerializer(serializers.ModelSerializer): class Meta: model = User exclude = [ - 'password', 'first_name', 'last_name', 'is_staff', 'secret_key_otp', - 'private_key', 'public_key', + 'password', 'first_name', 'last_name', 'secret_key_otp', + 'private_key', 'public_key', 'avatar', ]