Django - DRF - 响应器(渲染器)

本文深入探讨了Django REST framework中响应器的使用方法,包括默认显示、JSON格式、form表单及表格显示,同时讲解了局部和全局配置响应器的方式,并提供了自定义显示默认页面的实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、响应器显示

1-1 默认显示 - format=api

1-2 JSON格式显示 format=json

1-3 form表单方式:HTMLFormRenderer - ?format=form

1-4 表格方式:AdminRenderer - ?format=admin

二、响应器的配置

2-1 局部使用

2-2 全局使用 - settings配置

三、自定义显示默认页面


一、响应器显示

1-1 默认显示 - format=api

1-2 JSON格式显示 format=json

1-3 form表单方式:HTMLFormRenderer - ?format=form

1-4 表格方式:AdminRenderer - ?format=admin

二、响应器的配置

2-1 局部使用

from rest_framework.renderers import  HTMLFormRenderer,BrowsableAPIRenderer
class BookDetailView(APIView):

    renderer_classes = [HTMLFormRenderer,BrowsableAPIRenderer ]

    def get(self,request,pk):
        book_obj=models.Book.objects.filter(pk=pk).first()
        bs=BookSerializers(book_obj,many=False)
        return Response(bs.data)
    def put(self,request,pk):
        book_obj = models.Book.objects.filter(pk=pk).first()

        bs=BookSerializers(data=request.data,instance=book_obj)
        if bs.is_valid():
            bs.save() # update
            return Response(bs.data)
        else:
            return Response(bs.errors)
    def delete(self,request,pk):
        models.Book.objects.filter(pk=pk).delete()

        return Response("")

2-2 全局使用 - settings配置

REST_FRAMEWORK = {
    'DEFAULT_RENDERER_CLASSES':['rest_framework.renderers.JSONRenderer']
}

三、自定义显示默认页面

from rest_framework.renderers import  TemplateHTMLRenderer
class BookDetailView(APIView):
    renderer_classes = [TemplateHTMLRenderer]
    def get(self,request,pk):
        book_obj=models.Book.objects.filter(pk=pk).first()
        bs=BookSerializers(book_obj,many=False)
        return Response(bs.data,template_name='aa.html')

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值