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/看到



浙公网安备 33010602011771号