Django Rest_Framework的简单介绍

  核心思想: 缩减编写api接口的代码

  Django REST framework是一个建立在Django基础之上的Web 应用开发框架,可以快速的开发REST API接口应用。在REST framework中,提供了序列化器Serialzier的定义,可以帮助我们简化序列化与反序列化的过程,不仅如此,还提供丰富的类视图、扩展类、视图集来简化视图的编写工作。REST framework还提供了认证、权限、限流、过滤、分页、接口文档等功能支持。REST framework提供了一个API 的Web可视化界面来方便查看测试接口。

  特点:

    • 提供了定义序列化器Serializer的方法,可以快速根据 Django ORM 或者其它库自动序列化/反序列化;
    • 提供了丰富的类视图、Mixin扩展类,简化视图的编写;
    • 丰富的定制层级:函数视图、类视图、视图集合到自动生成 API,满足各种需要;
    • 多种身份认证和权限认证方式的支持;[jwt]
    • 内置了限流系统;
    • 直观的 API web 界面;
    • 可扩展性,插件丰富

  DRF是以Django扩展应用的方式提供的,所以我们可以直接利用已有的Django环境而无需从新创建。(若没有Django环境,需要先创建环境安装Django)

 

  安装DRF

  前提是已经安装django,建议安装在虚拟环境上

1、pip install djangorestframework==3.7.
2、在settings配置文件里的INSTALLED_APPS下边导入'rest_framework'

 

  1、在models.py里写一个表

class Book(models.Model):
    nid = models.AutoField(primary_key=True)
    name = models.CharField(max_length=32)
    price = models.DecimalField(max_digits=5, decimal_places=2)
    author = models.CharField(max_length=32)

 

  2、在app01应用下边创建一个py文件 序列化类

from rest_framework.serializers import ModelSerializer
from app01.models import Book


class BookModelSerializer(ModelSerializer):
    class Meta:
        model = Book
        fields = "__all__"

 

  3、在视图中写视图类 views.py

from rest_framework.viewsets import ModelViewSet
from .models import Book
from .ser import BookModelSerializer


class BooksViewSet(ModelViewSet):
    queryset = Books.objects.all()
    serializer_class = BookModelSerializer

 

  4、写路由关系 urls.py

from app01 import views
from rest_framework.routers import DefaultRouter

router = DefaultRouter()  # 可以处理视图的路由器
router.register('book', views.BooksViewSet)  # 向路由器中注册视图表
# 将路由器中的所有路由信息追到到django的路由列表中

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

urlpatterns += router.urls

 

 

 

 

 

 

后续使用的过程中再补充详细的资料把。

转自:https://zhuanlan.zhihu.com/p/476788186

posted @ 2023-05-22 04:29  小家电维修  阅读(29)  评论(1编辑  收藏  举报