Django REST framework
介绍
DRF框架是基于Django框架,对Django框架的封装,以提高开发效率和减少重复模块代码,并对一些功能进行了扩展,提高易用性。关于DRF官方文档讲述的非常全面,这里也有中文版的官方文档可参考。
特点
-
-
提供了丰富的类视图、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.py的INSTALLED_APPS中添加‘rest_framework‘。
INSTALLED_APPS = [ ... ‘rest_framework‘, ]
class BookSerializer(serializers.ModelSerializer): """图书数据序列化器""" class Meta: model = Book fields = ‘__all__‘
-
-
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可看到页面显示