见识DRF的魅力(django rest framework)

2024-02-17 13:20

本文主要是介绍见识DRF的魅力(django rest framework),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 创建序列化器

在booktest应用中新建serializers.py用于保存该应用的序列化器。

创建一个BookInfoSerializer用于序列化与反序列化。

class BookInfoSerializer(serializers.ModelSerializer):"""图书数据序列化器"""class Meta:model = BookInfofields = '__all__'
  • model 指明该序列化器处理的数据字段从模型类BookInfo参考生成
  • fields 指明该序列化器包含模型类中的哪些字段,'__all__'指明包含所有字段

2. 编写视图

在booktest应用的views.py中创建视图BookInfoViewSet,这是一个视图集合。

from rest_framework.viewsets import ModelViewSet
from .serializers import BookInfoSerializer
from .models import BookInfoclass BookInfoViewSet(ModelViewSet):queryset = BookInfo.objects.all()serializer_class = BookInfoSerializer
  • queryset 指明该视图集在查询数据时使用的查询集
  • serializer_class 指明该视图在进行序列化或反序列化时使用的序列化器

3. 定义路由

在booktest应用的urls.py中定义路由信息。

from . import views
from rest_framework.routers import DefaultRouterurlpatterns = [...
]router = DefaultRouter()  # 可以处理视图的路由器
router.register(r'books', views.BookInfoViewSet)  # 向路由器中注册视图集urlpatterns += router.urls  # 将路由器中的所以路由信息追到到django的路由列表中

4. 运行测试

运行当前程序(与运行Django一样)

python manage.py runserver

在浏览器中输入网址127.0.0.1:8000,可以看到DRF提供的API Web浏览页面:

1)点击链接127.0.0.1:8000/books/ 可以访问获取所有数据的接口,呈现如下页面:

2)在页面底下表单部分填写图书信息,可以访问添加新图书的接口,保存新书:

点击POST后,返回如下页面信息:

3)在浏览器中输入网址127.0.0.1:8000/books/1/,可以访问获取单一图书信息的接口(id为1的图书),呈现如下页面:

4)在页面底部表单中填写图书信息,可以访问修改图书的接口

点击PUT,返回如下页面信息:

5)点击DELETE按钮,可以访问删除图书的接口

返回,如下页面:

至此,是不是发现Django REST framework很好用!


这篇关于见识DRF的魅力(django rest framework)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/717887

相关文章

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

Django中使用SMTP实现邮件发送功能

《Django中使用SMTP实现邮件发送功能》在Django中使用SMTP发送邮件是一个常见的需求,通常用于发送用户注册确认邮件、密码重置邮件等,下面我们来看看如何在Django中配置S... 目录1. 配置 Django 项目以使用 SMTP2. 创建 Django 应用3. 添加应用到项目设置4. 创建

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

Spring Framework系统框架

序号表示的是学习顺序 IoC(控制反转)/DI(依赖注入): ioc:思想上是控制反转,spring提供了一个容器,称为IOC容器,用它来充当IOC思想中的外部。 我的理解就是spring把这些对象集中管理,放在容器中,这个容器就叫Ioc这些对象统称为Bean 用对象的时候不用new,直接外部提供(bean) 当外部的对象有关系的时候,IOC给它俩绑好(DI) DI和IO

利用Django框架快速构建Web应用:从零到上线

随着互联网的发展,Web应用的需求日益增长,而Django作为一个高级的Python Web框架,以其强大的功能和灵活的架构,成为了众多开发者的选择。本文将指导你如何从零开始使用Django框架构建一个简单的Web应用,并将其部署到线上,让世界看到你的作品。 Django简介 Django是由Adrian Holovaty和Simon Willison于2005年开发的一个开源框架,旨在简

Spring Boot 注解探秘:HTTP 请求的魅力之旅

在SpringBoot应用开发中,处理Http请求是一项基础且重要的任务。Spring Boot通过提供一系列丰富的注解极大地简化了这一过程,使得定义请求处理器和路由变得更加直观与便捷。这些注解不仅帮助开发者清晰地定义不同类型的HTTP请求如何被处理,同时也提升了代码的可读性和维护性。 一、@RequestMapping @RequestMapping用于将特定的HTTP请求映射到特定的方法上

Linux搭建Python3、Django环境

开发十年,就只剩下这套架构体系了! >>>    好久没写了,朋友们,我又回来了。 安装Python3 Python全部版本下载地址:         https://www.python.org/ftp/ 解决RedHat,使用Python3退格出现乱码问题:         yum -y install readline-devel.x86_64 下载Python3:

【JavaScript】函数中的arguments对象与Rest参数

arguments   JavaScript函数可以使用任意数量的参数(允许未知数量的函数参数)。在ES6之前,JavaScript有一个变量来访问这些未知或可变数目的参数,这是一个类似数组的对象,并非一个数组,称为arguments,与传递给函数的参数相对应。传递给JavaScript函数的所有参数都可以使用arguments对象来引用。      在上面的函数中,num1和num2

Django 第十七课 -- 视图 - FBV 与 CBV

目录 一. 前言 二. FBV 三. CBV 一. 前言 FBV(function base views) 基于函数的视图,就是在视图里使用函数处理请求。 CBV(class base views) 基于类的视图,就是在视图里使用类处理请求。 二. FBV 基于函数的视图其实我们前面章节一直在使用,就是使用了函数来处理用户的请求,查看以下实例: 路由配置: urlpat

django摄影竞赛小程序论文源码调试讲解

2系统关键技术及工具简介 系统开发过程中设计的关键技术是系统的核心,而开发工具则会影响的项目开发的进程和效率。第二部分便描述了系统的设计与实现等相关开发工具。 2.1 Python简介 Python 属于一个高层次的脚本语言,以解释性,编译性,互动性和面向对象相结合。在设计上相比其他语言,它更具有特色语法结构,很强的可读性。 2.2 Django框架 Django是一个开放源