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