2021-08-23 20:35阅读: 244评论: 0推荐: 0

Django REST framework

Django REST framework

介绍

DRF框架是基于Django框架,对Django框架的封装,以提高开发效率和减少重复模块代码,并对一些功能进行了扩展,提高易用性。关于DRF官方文档讲述的非常全面,这里也有中文版的官方文档可参考。

特点

  • 提供了定义序列化器Serializer的方法,可以快速根据 Django ORM 或者其它库自动序列化/反序列化;

  • 提供了丰富的类视图、Mixin扩展类,简化视图的编写;

  • 丰富的定制层级:函数视图、类视图、视图集、可自动生成 API;

  • 多种身份认证和权限认证方式的支持;

  • 内置了限流系统;

  • 直观的 API web 界面;

  • 可扩展性,插件丰富

搭建DRF项目

1、环境安装与配置

DRF需要以下依赖:

  • Python (2.7, 3.4, 3.5, 3.6, 3.7)

  • Django (1.11, 2.0, 2.1)

2、 安装DRF

pip install djangorestframework

3、添加rest_framework应用

创建Django工程后,在settings.pyINSTALLED_APPS中添加'rest_framework'。

INSTALLED_APPS = [
    ...
    'rest_framework',
]

使用DRF开发

1、创建实体类的序列化器

class BookSerializer(serializers.ModelSerializer):
    """图书数据序列化器"""
    class Meta:
        model = Book
        fields = '__all__'
  • model 指明该序列化器处理的数据字段从模型类Book参考生成

  • fields 指明该序列化器包含模型类中的哪些字段,'all'指明包含所有字段

2、编写视图

from rest_framework.viewsets import ModelViewSet
from .serializers import BookSerializer
from .models import Book

class BookViewSet(ModelViewSet):
    queryset = Book.objects.all()  # 指明该视图集在查询数据时使用的查询集
    serializer_class = BookSerializer # 该视图在进行序列化或反序列化时使用的序列化器

3、定义路由

复制代码
from . import views
from rest_framework.routers import DefaultRouter

urlpatterns = [
    ...
]

router = DefaultRouter()  # 处理视图的路由器
router.register(r'books', views.BookViewSet)  # 向路由器中注册视图集

urlpatterns += router.urls  # 将路由器中的所以路由信息追到到django的路由列表中
复制代码

4、运行

python manage.py runserver

创建数据库的表后

在浏览器中输入网址127.0.0.1:8000可看到页面显示

 

 

本文作者:wang_longan

本文链接:https://www.cnblogs.com/longan-wang/p/15174739.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   wang_longan  阅读(244)  评论(0编辑  收藏  举报
(评论功能已被禁用)
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起