首页 > 其他分享 >django restframework的简单使用

django restframework的简单使用

时间:2023-04-16 22:11:40浏览次数:35  
标签:views request rest django restframework 简单 print import Response

django restframework的简单使用

1.快速上手

  1. 配置: (pip install djangorestframework==3.12.4)
# settings.py
INSTALLED_APPS = [
    'rest_framework'
]
REST_FRAMEWORK = {
    # DRF的相关配置后面都在这里
}
  1. urls和views
# urls.py 
from django.urls import path 
from app01 import views

urlpatterns = [
    path('api/user/', views.UserView.as_view()),
]
# views.py
from rest_framework.views import APIView
from rest_framwork.response import Response 

class UserView(APIView):
    def get(self, request, *args, **kwargs):
        return Response({"code": 0, 'data': 'xxxx'})
    def post(self, request, *args, **kwargs):
        return Response({"code": 0, 'data': 'xxxx'})

2.drf相关

​ drf重写了as_view()和dispatch()方法. 添加了一些功能:

  1. as_view(继承了父类中as_view): 免除了csrf的验证. 一般前后端分离不使用csrf. 后期会使用jwt认证
  2. dispatch(没继承父类的dispatch): 内部添加了版本处理, 认证, 权限, 访问频率

3.drf对于请求数据的封装

reqeust的使用:

# views.py
from rest_framework.views import APIView
from rest_framwork.response import Response 

class UserView(APIView):
    def get(self, request, *args, **kwargs):
        print(request._request.GET)
        print(request._request.method)  # 通过对象嵌套了找到原始的request
        print(request._request.POST)
        
        print(request.query_params)  # 本质上就是request._reqeust.GET
        print(request.data)  # 读取请求体并处理, eg: 发来Json, 内部会将其反序列化
        return Response({"code": 0, 'data': 'xxxx'})
    
    def post(self, request, *args, **kwargs):
        return Response({"code": 0, 'data': 'xxxx'})

标签:views,request,rest,django,restframework,简单,print,import,Response
From: https://www.cnblogs.com/Maxs-message/p/17324235.html

相关文章

  • Django基础 - 09路由URL控制与解析
     一、URL路由配置1.1 主路由:主程序目录下的urls.py; 对应属性ROOT_URLCONFurlpatterns=[path('admin/',admin.site.urls),path('index/',index),#配置子路由#include()导入mainapp模块下urls.py中声明的所有子路由path('user/',include......
  • Django基础 - 10请求与响应
     环境准备#1.开启一个新的项目advanceDjango(venv)E:\PythonLearn\djangoDemo>django-adminstartprojectadvanceDjango#2.配置项目同名APP下的settings.py,advanceDjango/advanceDjango/settings.pyALLOWED_HOSTS=['*']TEMPLATES=['DIRS�......
  • Django基础 - 06Model模型的关联关系及对象继承
     一、 一对一关系:实名认证表一对一关系: models.OneToOneField主表的数据是相对重要的(UserEntity), 从表需要主动声明关系(RealProfile)对象获取: 从表获取主表数据, 直接使用字段, 对象.字段名.属性名; 主表获取从表数据: 隐性的, 对象.模型名.属性名1.1 声明一对一......
  • django保存图片并返回url
    场景描述前端传递一个表单,表单中有title,description,以及image等信息,image在这里传递的是二进制文件后端需要将这些数据保存到一个数据库中。image需要保存到指定文件夹下,并且数据库中保存的是image的路径,之后我们可以通过浏览器访问类似127.0.0.1:8000/xxx/a.jpg访问到这......
  • ltp的简单学习
    ltp的简单学习简介下载地址为:https://github.com/linux-test-project/ltpLinuxTestProjectisajointprojectstartedbySGI,OSDLandBulldevelopedandmaintainedbyIBM,Cisco,Fujitsu,SUSE,RedHat,Oracleandothers.Theprojectgoalistodeliver......
  • Linux驱动入门-最简单字符设备驱动(基于pc ubuntu)
    原文:https://blog.csdn.net/XiaoXiaoPengBo/article/details/128505550一.字符设备驱动概念字符设备是Linux驱动中最基本的一类设备驱动,字符设备就是一个一个字节,按照字节流进行读写操作的设备,读写数据是分先后顺序的。比如我们最常见的点灯、按键、IIC、SPI,LCD等等都是字符......
  • Apache httpd 入门实战(2)--简单使用
    本文主要介绍Apache的实际使用,文中所使用到的软件版本:Centos7.9.2009、Httpd2.4.55。1、反向代理涉及到Https站点时,安装Apache时需要启用ssl,可参考 Apachehttpd入门实战(1)--概念及安装。1.1、被代理站点为Http站点打开conf/httpd.conf文件,修改或新增相应的配......
  • eureka源码简单剖析-服务端(服务续约接口)
           ......
  • eureka源码简单剖析-服务端(服务注册接口-作用是客户端的注册服务)
    本部分讲的是客户端的一些服务注册要注册中心,就是服务的提供者将服务注册到注册中心,方便消费者拿到需要的服务  peer是集群的模式 然后看下这个super.register(info,leaseDuration,isReplication);   日常学习使用的一般是eureka单机模式,企业使用都是eureka......
  • Web实验二 服务器端简单程序设计
    实验项目名称:实验二  服务器端简单程序设计 一、实验目的通过一个小型网站的开发,掌握JSP基础知识,加深对session,request,response,cookie等对象的理解,掌握其使用方法,进一步深入掌握HTML、CSS和JavaScript等知识。二、实验内容和基本要求1)编写index.jsp文件,展示某一类物品或......