首页 > 其他 > 详细

Django REST Framework简单使用

时间:2020-07-01 13:13:36      阅读:38      评论:0      收藏:0      [点我收藏+]

1、安装各种组件

pip install django==2.1.5
pip install djangorestframework==3.8.2

2、创建Django项目

django-admin startproject my_drf
cd my_drf
python manage.py startapp app01

3、创建数据模型

app01/models.py

from django.db import models


# Create your models here.
class Group(models.Model):
    name = models.CharField(verbose_name="小组名称", max_length=5)

    def __str__(self):
        return self.name


class Student(models.Model):
    name = models.CharField(verbose_name="学生名字", max_length=10)
    age = models.IntegerField(verbose_name="学生年龄")
    group = models.ForeignKey(to=Group, on_delete=models.CASCADE)

    def __str__(self):
        return self.name

4、创建序列化类

app01/serializers.py

from rest_framework.serializers import HyperlinkedModelSerializer

from .models import Group, Student


class GroupSerializers(HyperlinkedModelSerializer):
    class Meta:
        model = Group  # 要序列化的类
        fields = (‘id‘, ‘name‘)  # 序列化的字段


class StudentSerializers(HyperlinkedModelSerializer):
    class Meta:
        model = Student  # 要序列化的类
        fields = (‘id‘, ‘name‘, ‘age‘, ‘group‘)  # 序列化的字段

5、创建视图类

app01/views.py

from rest_framework import viewsets
from .models import Group, Student
from .serializers import GroupSerializers, StudentSerializers


class StudentViewSet(viewsets.ModelViewSet):
    queryset = Student.objects.all()  # 指定要序列化的数据
    serializer_class = StudentSerializers  # 指定要使用的序列化类


class GroupViewSet(viewsets.ModelViewSet):
    queryset = Group.objects.all()  # 指定要序列化的数据
    serializer_class = GroupSerializers  # 指定要使用的序列化类

6、配置url

my_drf/urls.py

from django.contrib import admin
from django.urls import path, include
# 通过rest_framework自带的路由配置创建路由
from rest_framework.routers import DefaultRouter

from app01 import views

router = DefaultRouter()
# 注册路由
router.register(r‘students‘, views.StudentViewSet)
router.register(r‘groups‘, views.GroupViewSet)

urlpatterns = [
    path(‘admin/‘, admin.site.urls),
  	# 配置路由入口
    path(‘api/‘, include(router.urls)),
]

7、迁移数据库

python manage.py makemigrations
python manage.py migrate

8、运行本地服务

python manage.py runserver

9、浏览器访问

9.1 API入口

浏览器访问:http://127.0.0.1:8000/api/

技术分享图片

9.2 Students接口

浏览器访问:http://127.0.0.1:8000/api/students/

技术分享图片

9.2.1 对Students接口进行操作

9.2.1.1 增加学生

技术分享图片

点击POST之后:

技术分享图片

查看Students所有信息:

技术分享图片

9.2.1.2 更新学生信息
  • PUT是更新学生信息(必须填写完整的学生信息)

技术分享图片

点击PUT之后:

技术分享图片

信息中对应的"age"信息已经更改了。

  • PATCH 部分更新,不需要传递所有信息,只需要带上“id”和要更新的信息就可以

技术分享图片

点击PATCH之后:

技术分享图片

部分更新提交之后,下面的窗口中会把更新之后所有的信息都加载进来。

9.2.1.3 删除学生信息

技术分享图片

点击DELETE在弹出的对话框中确定之后,就可以把该学生的信息删除了:

技术分享图片

在所有学生信息列表中也查看不到id为5的这个学生信息:

技术分享图片

9.3 Groups接口

浏览器访问:http://127.0.0.1:8000/api/groups/

技术分享图片

Django REST Framework简单使用

原文:https://www.cnblogs.com/jie-fang/p/13218547.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!