2、DRF介绍

一、DRF介绍和安装

介绍

DRF,全称djangorestframework,它是Django的一个第三方app,是一个建立在Django基础之上的Web 应用开发框架,使用它可以快速的写出符合restful规范的接口,帮助我们缩减编写api接口的代码,更好的实现前后端分离项目的开发

安装

'''
安装DRF的前提是已经安装了Django

终端输入:pip3 install djangorestframework
或者在PyCharm里搜索djangorestframework安装

截止到目前为止,drf最新版本只支持django 2.x及以上版本
'''

使用

'''DRF本质就是Django的一个应用,所以我们需要去settings.py添加rest_framework应用'''

INSTALLED_APPS = [
    ...
    'rest_framework'
]

'''
接下来就可以使用DRF提供的功能进行api接口开发了。在项目中如果使用rest_framework框架实现API接口,主要有以下三个步骤:
   1 将请求的数据(如JSON格式)转换为模型类对象
   2 操作数据库
   3 将模型类对象转换为响应的数据(如JSON格式)
'''

二、DRF使用案例

使用apiviews和Response写接口

我们先去models.py文件创建一个表

class Book(models.Model):
    name = models.CharField(max_length=32)
    price = models.IntegerField()
    # 创建完成记得执行数据库迁移命令,然后给表里填数据

然后去views.py写

from rest_framework.views import APIView  # 导入APIView
from app01 import models   # 导入models表
from rest_framework.response import Response


class BookView(APIView):  # 继承APIView(实际上APIView就是继承了View)
    def get(self, request):  # 走get请求
        book_list = models.Book.objects.all()  # all惰性查询,查所有数据
        l = []  # 定义一个列表
        for book in book_list:  # 将查询的所有数据循环遍历
            l.append({'书名': book.name, '价格': book.price})  # 将遍历的数据添加到列表里
        return Response(l)  # 这个就是DRF的response,将数据返回给前端

最后去urls.py添加上路由接口

from app01 import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('books/', views.BookView.as_view()),
]

本文作者:黑影Poco

本文链接:https://www.cnblogs.com/poco/p/15244584.html

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

posted @   黑影Poco  阅读(308)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起
  1. 1 404 not found REOL
404 not found - REOL
00:00 / 00:00
An audio error has occurred.