首页 > 其他分享 >响应模块 LL

响应模块 LL

时间:2024-03-12 14:56:43浏览次数:30  
标签:127.0 http 0.1 LL 响应 模块 test pk 8000

 

1、作用

根据 用户请求URL 或 用户可接受的类型,筛选出合适的 渲染组件。
用户请求URL:

http://127.0.0.1:8000/test/?format=json
http://127.0.0.1:8000/test.json

 

2、内置渲染器

显示json格式:JSONRenderer

访问URL:

  • http://127.0.0.1:8000/test/?format=json
    
    http://127.0.0.1:8000/test.json
    
    http://127.0.0.1:8000/test/

     

默认显示格式:BrowsableAPIRenderer(可以修改它的html文件)

访问URL:

 

http://127.0.0.1:8000/test/?format=api
http://127.0.0.1:8000/test.api
http://127.0.0.1:8000/test/

 

表格方式:AdminRenderer

访问URL:

 

http://127.0.0.1:8000/test/?format=admin
http://127.0.0.1:8000/test.admin
http://127.0.0.1:8000/test/

 

form表单方式:HTMLFormRenderer

访问URL:

 

http://127.0.0.1:8000/test/?format=form
http://127.0.0.1:8000/test.form
http://127.0.0.1:8000/test/

 

3、局部使用

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("")

 

4、全局使用

4-1 settings.py中配置

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

 

5、自定义显示模块

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')
<!DOCTYPE html>
<html lang="en">
<head>
    
    <title>Title</title>
</head>
<body>
{{ title }}
{{ publishDate }}
</body>
</html>

 

标签:127.0,http,0.1,LL,响应,模块,test,pk,8000
From: https://www.cnblogs.com/97zs/p/18068305

相关文章

  • linux Shell 命令行-05-test 检查某个条件是否成立
    拓展阅读linuxShell命令行-00-intro入门介绍linuxShell命令行-02-var变量linuxShell命令行-03-array数组linuxShell命令行-04-operator操作符linuxShell命令行-05-test验证是否符合条件linuxShell命令行-06-flowcontrol流程控制linuxShell命令行-07-f......
  • 请求模块 LL
     1、CBV源码分析#视图层fromdjango.shortcutsimportrender,HttpResponsefromdjango.viewsimportViewclassCBVTest(View):#通过调度(dispatch)分发请求defdispatch(self,request,*args,**kwargs):passsuper().dispatch(request,......
  • Ansible 常用模块
    3.4)Ansible常用模块Ansible默认提供了很多模块来供我们使用。我们可以通过ansible-doc-l命令查看到当前ansible都支持哪些模块通过ansible-doc-s模块名可以查看该模块有哪些参数可以使用。目前2023为止:模块总量基本保存在3387个。虽然模块众多,但最常用的......
  • Web API接口 LL
    1.什么是WebAPI接口通过网络,规定了前后台信息交互规则的url链接,也就是前后台信息交互的媒介WebAPI接口和一般的url链接还是有区别的,WebAPI接口简单概括有下面四大特点url:长得像返回数据的url链接https://api.map.baidu.com/place/v2/search请求方式:get、post、put......
  • BOSHIDA DC电源模块与稳压技术的结合优势
    BOSHIDADC电源模块与稳压技术的结合优势结合DC电源模块和稳压技术有以下优势: 1.稳定性:DC电源模块可以将交流电转换为直流电,并通过稳压技术保持输出电压稳定。这可以确保电子设备在不同负载和环境条件下都能获得稳定的电源供应,避免因电压波动而引起的设备故障或性能下降。2......
  • 初始配置:IntelliJ Android无法运行项目并报错Error: Module not specified
    最近重拾android,想趁复试前搞一个东西出来,顺便给毕设做好准备。写代码前得让IDEA把初始的空项目在虚拟机上运行一下,看看开发环境是不是有什么问题,果然每次过一段时间重开,哪怕我上一次关闭时啥也没碰,总得出点配置上的小问题。Error:Modulenotspecified未指定模块错误,但点......
  • cookie和Session LL
    cookieCookie的由来大家都知道HTTP协议是无状态的。无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不会直接影响后面的请求响应情况。一句有意思的话来描述就是人生只如初见,对服务器来说,每次......
  • Celery LL
    Celery1.什么是Clelery Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统专注于实时处理的异步任务队列同时也支持任务调度Celery架构Celery的架构由三部分组成,消息中间件(messagebroker),任务执行单元(worker)和任务执行结果存储(taskresultstore)组成。消息中间件......
  • 在Linux中,如何利用Shell把10台主机的当前时间写到一个文件里边?
    在Linux中,使用Shell脚本收集多台主机的当前时间并将其写入一个文件是一个常见的任务。下面是一个详细的步骤说明,包括如何设置SSH密钥认证(以避免手动输入密码)以及编写和执行Shell脚本。1.设置SSH密钥认证为了避免在脚本执行过程中需要手动输入密码,你可以使用SSH密钥认证。这意味......
  • LLM 推理和应用 开源框架梳理
    之前对LLM推理和应用了解不多,因此抽时间梳理了一下,我们从模型量化,模型推理,以及开发平台等三个层面来梳理分析。模型量化模型训练时为了进度,采用的32位浮点数,因此占用的空间较大,一些大的模型需要很大的显存才能加载,且计算推理过程较慢。为了减少内存占用,提升推理速度,可以将高精......