Django Rest framework 流程介绍

1、 创建Models,也就是建立数据库

2、  Serialiers 序列化数据/反序列化数据(将数据库取出或者将请求过来的数据保存到数据库)

3、  ViewSet 根据客户端的请求(GET, POST),返回 Serialiers处理的数据

4、  Routers 注册ViewSeturl

5、  Urls

 

 

环境介绍

1、版本介绍

Python版本:

PS D:\project\djceleryt> python -V

Python 2.7.15

Django版本:

Django==1.11 

   Djangorestframeworka版本:

       Djangorestframework==3.4.0

2、  python插件安装

pip install Django==1.11

pip install Djangorestframework==3.4.0

3、  建立应用建立app

django-admin  startproject djceleryt

python manage.py startapp verify

4、  verify目录中建立数据库

verify/models.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.db import models
from django.db import models

# Create your models here.

class Student(models.Model):
    name = models.CharField(
max_length=32, null=True)
    sex = models.BooleanField()
    age = models.IntegerField()
    sc = models.CharField(
max_length=32, null=True)

 

5、  建立serialiers

verify/serializers.py

#coding: utf-8
from rest_framework import serializers
from django.contrib.auth.models import User, Group
from verify.models import *

class UserSerializer(serializers.HyperlinkedModelSerializer):
   
class Meta:
        model = User
        fields = (
'url', 'username', 'email', 'groups')

class GroupSerializer(serializers.HyperlinkedModelSerializer):
   
class Meta:
        model = Group
        fields = (
'url', 'name')

class StudentSerializer(serializers.ModelSerializer):
   
class Meta:
        model = Student
       
#fields = ('name', 'sex', 'age', 'sc')
       
fields = '__all__'

6、  view文件中建立ViewSets

    verify/views.py

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.shortcuts import render
from rest_framework.views import APIView
from rest_framework.permissions import IsAuthenticated
from django.contrib.auth.models import User, Group
from verify.models import *
from rest_framework import viewsets
from rest_framework import status
from rest_framework.response import Response
from verify import serializers

class UserViewSet(viewsets.ModelViewSet):
    queryset =  User.objects.all()
    serializer_class = serializers.UserSerializer

class GroupViewSet(viewsets.ModelViewSet):
    queryset = Group.objects.all()
    serializer_class = serializers.GroupSerializer

class StudentViewSet(viewsets.ModelViewSet):
    queryset = Student.objects.all()
    serializer_class = serializers.StudentSerializer

7、  设置Routes

verify/urls.py

 from django.conf.urls import url, include
from django.contrib import admin
from rest_framework import routers
from verify import views

routers = routers.DefaultRouter()
routers.register(
r'student', views.StudentViewSet)
urlpatterns = [
    url(
r'', include(routers.urls)),
   
#url(r'^admin/', admin.site.urls),
]

 

8、  设置urls包含verifyurls

djceleryt/urls.py

from django.conf.urls import url, include
from django.contrib import admin

urlpatterns = [
    url(
r'^admin/', admin.site.urls),
   
url(r'^api/', include('verify.urls')),
]

 

9、  设置setting.py install

djceleryt/settings.py

INSTALLED_APPS = [
   
'django.contrib.admin',
   
'django.contrib.auth',
   
'django.contrib.contenttypes',
   
'django.contrib.sessions',
   
'django.contrib.messages',
   
'django.contrib.staticfiles',
   
'rest_framework',
   
'rest_framework.authtoken',
   
'verify',
   
'djcelery',
]

 

'verify'framework'rest_framework.authtoken(rest_framework框架认证使用)'djcelery(异步任务)'为新增的app

 

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注