创建用户app
python manage.py startapp groups
并把 groups 目录移动到apps目录下
settings.py中注册 groups
'groups',
groups/serializers.py
from django.contrib.auth.models import Group
from rest_framework import serializers
class GroupSerializer(serializers.ModelSerializer):
"""
group序列化类
"""
class Meta:
model = Group
fields = ("id", "name")
groups/views.py
from django.contrib.auth.models import Group
from rest_framework import viewsets, mixins
from .serializers import GroupSerializer
from .filters import GroupFilter
class GroupViewset(viewsets.ModelViewSet):
queryset = Group.objects.all()
serializer_class = GroupSerializer
filter_class = GroupFilter
filter_fields = ("name",)
groups/filters.py
import django_filters
from django.contrib.auth.models import Group
class GroupFilter(django_filters.rest_framework.FilterSet):
"""
group过滤类
"""
name = django_filters.CharFilter(lookup_expr='icontains')
class Meta:
model = Group
fields = ('name',)
groups/router.py
from rest_framework.routers import DefaultRouter
from .views import GroupViewset
group_router = DefaultRouter()
group_router.register('groups', GroupViewset)
devops/urls.py
from django.conf.urls import url, include
from rest_framework.routers import DefaultRouter
from rest_framework.documentation import include_docs_urls
from rest_framework_jwt.views import obtain_jwt_token
from rest_framework.authtoken.views import obtain_auth_token
router = DefaultRouter()
from users.router import user_router
from groups.router import group_router
router.registry.extend(user_router.registry)
router.registry.extend(group_router.registry)
urlpatterns = [
url(r'^api/', include(router.urls)),
url(r'^', include(router.urls)),
url(r'^api-auth/', include('rest_framework.urls', namespace='rest_framework')),
url(r'^api-token-auth/', obtain_jwt_token),
url(r'^docs/', include_docs_urls("开源运维平台"))
]