首页 > 其他分享 >【DRF】4. DRF视图开发RESTful API接口

【DRF】4. DRF视图开发RESTful API接口

时间:2023-05-03 23:56:08浏览次数:42  
标签:return 视图 course json API dict import DRF

四种方式:

  • 函数式编程:function based view
  • 类视图:classed based view
  • 通用类视图:generic classed based view
  • DRF的视图集 Viewsets

原生Django FBV(Funciton based view)编写,应用的views.py

import json
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt

course_dict = {
    'name': '课程名称',
    'introduction': '课程介绍',
    'price': 9.99,
}

@csrf_exempt
def course_list(reqeust):
    if request.method == 'GET':
        return JsonResponse(course_dict)
        # 等同于:
        # return HttpResponse(json.dumps(course_dict), content_type='application/json')
    if request.method == 'POST':
        course = json.loads(reqeust.body.decode('utf-8'))
        # return JsonResponse(course, safe=False)
        return HttpResponse(json.dumps(course_dict), content_type='application/json')

原生Django CBV(Classed based view)编写,应用的views.py

import json
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt
from django.views import View

course_dict = {
    'name': '课程名称',
    'introduction': '课程介绍',
    'price': 9.99,
}


class CourseList(View):
    def get(self, request):
        return JsonResponse(course_dict)

    @csrf_exempt
    def post(self, request):
        course = json.loads(reqeust.body.decode('utf-8'))
        return HttpResponse(json.dumps(course), content_type='application/json')

DRF

标签:return,视图,course,json,API,dict,import,DRF
From: https://www.cnblogs.com/chrjiajia/p/17369928.html

相关文章

  • 使用 Knife4j(Swagger)工具自动生成 API 接口文档
    现在的项目开发,绝大多数都已经采用前后端分离,前后端开发人员必须依靠接口文档进行协作。当前最流行的文档生成工具就是Swagger,它是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。但是本篇博客介绍的是Knife4j,它是集Swagger和OpenAPI为一体的......
  • Python - 字典视图
    dict的实例方法.keys()、.values()、.items()分别返回dict_keys、dict_values和dict_items类的实例。这些字典视图是dict内部实现使用的数据结构的只读投影。Python2种对应的方法返回列表,重复dict中已有的数据,有一定的内存开销。另外,视图还取代了返回迭代器的旧方法>>>d......
  • SpringBoot定义优雅全局统一Restful API 响应框架二
    这里解决之前留下来的问题,当程序没有正常返回时候就是程序由于运行时异常导致的结果,有些异常我们可,能无法提前预知,不能正常走到我们return的R对象返回。这个时候该如何处理在SpringBoot中,可以使用@ControllerAdvice注解来启用全局异常处理。通过使用@ControllerAdvice注解,可以捕......
  • 关于pandas.ExcelWriter()对象在执行.save()时报错FutureWarning: save is not part o
    有时使用pandas将多份数据,写入到Excel中不同的Sheet,可能会用到pandas.ExcelWriter("xxxx.xlsx")对象这样在结束时,就会对对象进行.save()和close(),当然这也是从大部分网站上看到的使用方法但是笔者在实际使用过程中,按这个过程,遇到报错:FutureWarning:saveisnotpartofthepu......
  • 浙大团队发表 3D 视图合成新方法,效果远超 NeRF、NV
    By超神经内容提要:只需几个不同视角的视频,就能把整个人体形象360°无死角地构建起来,不得不说,AI的脑补能力越来越强大。这样的工具,今后将可能为影视业、体育节目呈现等带来新的突破。关键词:人体新视图合成动态3D未来,我们的看电影、球赛以及演唱会等的方式,可能被「自由视角视频......
  • OpenAI API keys 的申请和测试小结
    申请准备工作,申请OpenAIAPIkeys首先需要准备三件套:1.VPN(登录Google和OpenAI)2.GoogleGmail邮箱账号3.国外手机(接收验证码,可用接码平台代替) 接下来,开启申请OpenAIAPIkeys之旅。 首先,开启VPN全局代理模式,同时将代理服务器的地址改为香港以外的国家,这样避免......
  • 常见问题——关于.net WebApi使用Swagger报错:HTTP Error 403.14 - Forbidden
    问题:.netWebApi项目使用Swagger报错:HTTPError403.14-Forbidden解放方案:换一个端口即可推荐——删除解决方案下的.vs文件夹,重新生成即可参考:https://stackoverflow.com/questions/34970088/swagger-gives-me-http-error-403-14-forbidden/53863456......
  • 对外提供的api保证接口的幂等 (先select 再 update innodb是行级锁, mysam是表级的
    额外的状态字段,这个状态值一般只会单流程变更,不管通过什么消息传递,目前申万宏源的每一个业务大部分都走流程,走的过程就有唯一的业务字段配合工作流workflow服务来进行业务流转个人观点解决幂等只有两种方式第一种依赖上游带过来的唯一标志,然后我们给这个唯一标志加锁保证请......
  • SpringBoot定义优雅全局统一Restful API 响应框架
    假如现在有一个Java项目,老板让你做项目组长,定义项目基础框架,系统技术架构选型,你应该如何设计一个规范的统一的RestfulAPI响应框架呢思考目前项目开发,都是基于前后端分离模式开发的,基于后端模板引擎那一套,可能已经不适用一些项目开发流程,和当下开发模式了,尤其在要写比......
  • SpringBoot定义优雅全局统一Restful API 响应框架
    假如现在有一个Java项目,老板让你做项目组长,定义项目基础框架,系统技术架构选型,你应该如何设计一个规范的统一的RestfulAPI响应框架呢思考目前项目开发,都是基于前后端分离模式开发的,基于后端模板引擎那一套,可能已经不适用一些项目开发流程,和当下开发模式了,尤其在要写......