Django REST framework使用

1.创建一个app,我创建的名为fly

2.在app里面添加一个名为serializers.py的文件

3.setting.py

# 在INSTALLED_APPS加上'rest_framework',new.fly是之前添加的app
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework',
    'new.fly'
]
# 添加
REST_FRAMEWORK = {
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
    'PAGE_SIZE': 10
}

4.model.py里面随便创建一个表

from asyncio.windows_events import NULL

from django.db import models
import uuid


# Create your models here.
class User(models.Model):
    id = models.UUIDField(primary_key=True, auto_created=True, default=uuid.uuid4, editable=False)
    user = models.CharField(max_length=20)
    password = models.CharField(max_length=50)
    name = models.CharField(max_length=10)
    headImage = models.CharField(max_length=30, default=NULL)
    GENDER_CHOICES = (
        (u'M', u'Male'),
        (u'F', u'Female'),
    )
    gender = models.CharField(max_length=2, choices=GENDER_CHOICES, default='M')
    articleNum = models.IntegerField(default=0)
    follow = models.IntegerField(default=0)
    fans = models.IntegerField(default=0)

5.serializers.py的内容:

from new.fly.models import User
from rest_framework import serializers


class UserSerializer(serializers.HyperlinkedModelSerializer):
    class Meta:
        model = User
        fields = '__all__'

6.views.py

from new.fly.models import User
from rest_framework import viewsets
from rest_framework import permissions
from new.fly.serializers import UserSerializer


class UserViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows users to be viewed or edited.
    """
    queryset = User.objects.all()
    serializer_class = UserSerializer
    permission_classes = [permissions.IsAuthenticated]

7.urls.py

from django.contrib import admin
from django.urls import include, path
from rest_framework import routers
from new.fly import views

router = routers.DefaultRouter()
router.register(r'users', views.UserViewSet)
# router.register(r'groups', views.GroupViewSet)

urlpatterns = [
    path('admin/', admin.site.urls),
    path('rest/', include(router.urls)),
    path('api-auth/', include('rest_framework.urls', namespace='rest_framework'))
]

8.运行django,打开http://127.0.0.1:8000/rest/看到

 

原文地址:https://www.cnblogs.com/daicw/p/12825872.html