• 安装 djangorestframework

    pip install djangorestframework
  • 将rest_framework注册到app上

    INSTALLED_APPS = [
    'rest_framework',
    'app01'
    ....
    ]
  • urls

    from django.urls import path
    from . import views
    urlpatterns = [
    path('index/',views.UserView.as_view())
    ]
  • 在models.py

    from django.db import models
    
    # 用户
    class User(models.Model):
    name = models.CharField(max_length=,unique=True,null=True)
  • 在 app01 文件下 新建 serializer.py

    from rest_framework import serializers
    from .models import User # 序列化
    class UserSerializers(serializers.ModelSerializer): class Meta:
    model = User
    fields = '__all__'
    # 反序列化
    class UserUnSerializer(serializers.Serializer):
    name = serializers.CharField(max_length=)
    password = serializers.CharField(max_length=)
       # 添加数据
    def create(self,data):
    return User.objects.create(**data)
      # 更新数据
    def update(self,instance,data):
    return instance.update(**data)
  • 在 views

    from rest_framework.response import Response
    from rest_framework.views import APIView
    from . import models
    from .serializer import UserSerializers class UserView(APIView): def get(self,request):
    user = models.User.objects.all()
    # 序列化 将对象转成json串
    data = UserSerializers(user,many=True)
    return Response(data) # 添加数据
    def post(self,request):
    name = request.POST.get('name','').strip()
    password = request.POST.get('password','').strip()
    dic = {"name":name,"password":password}
    user = UserUnSerializer(data=dic)
    if user.is_valid():
    user.save()
    return HttpResponse('post-ok')
    return HttpResponse('post-no') # 更新数据
    def put(self,request):
    id = request.POST.get('id','')
    obj = models.User.objects.filter(id=id)
    name = request.POST.get('name','').strip()
    dic = {"name":name}
    user = UserUnSerializer(obj,data=dic)
    if user.is_valid():
    user.save()
    return HttpResponse('put-ok')
    return HttpResponse('put-no')

DRF单表序列化和反序列化的更多相关文章

  1. DRF框架(三)——media资源路径设置、多表设计复习及补充、序列化组件(ModelSerializer)操作多表(序列化与反序列化)、多表序列化与反序列化整合(重点)

    media资源路径设置  (设置好后把图片放在这个文件夹中,通过链接能访问到图片) 1.先在根目录设置一个media文件夹 2.配置settings.py,加上下面的 MEDIA_URL = '/me ...

  2. day71:drf:API接口&Restful API规范&Django Rest Framework&drf中的序列化和反序列化功能

    目录 1.web应用模式 2.API接口 3.Restful API规范 4.序列化 5.Django Rest Framework 1.drf的简单介绍 2.drf的特点 3.如何安装drf 4.d ...

  3. drf 单表

    ^_^ # [{title,price},{}] 构造的数据结构 简单的FBV/CBV def showbooks(request): # FBV if request.method =='GET': ...

  4. DRF一对多序列化和反序列化

    models.py # 商品分类 class Category(models.Model): name = models.CharField(max_length=32) # 商品 class Goo ...

  5. drf的序列化和反序列化

    序列化器--Serializer 选项参数: max_length 最大长度 min_length 最小长度 allow_blank 是否允许为空 trim_whitespace 是否截断空白字符 m ...

  6. drf序列化与反序列化

    序列化器-Serializer 定义序列化器 Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serial ...

  7. DRF框架(二)——解析模块(parsers)、异常模块(exception_handler)、响应模块(Response)、三大序列化组件介绍、Serializer组件(序列化与反序列化使用)

    解析模块 为什么要配置解析模块 1)drf给我们提供了多种解析数据包方式的解析类 form-data/urlencoded/json 2)我们可以通过配置来控制前台提交的哪些格式的数据后台在解析,哪些 ...

  8. drf序列化和反序列化

    目录 drf序列化和反序列化 一.自定义序列化 1.1 设置国际化 二.通过视图类的序列化和反序列化 三.ModelSerializer类实现序列化和反序列化 drf序列化和反序列化 一.自定义序列化 ...

  9. 5) ModelSerializer(重点) 基表 测试脚本 多表关系建外键 正反查 级联 插拔式连表 序列化反序列化整合 增删查 封装response

    一.前戏要做好 配置:settings.py #注册drf INSTALLED_APPS = [ # ... 'api.apps.ApiConfig', 'rest_framework', ] ​ # ...

随机推荐

  1. nginx重启后,反向代理失败之问题排查记录

    问题与排查过程 本地开发环境的服务器,部署了nginx,nginx上对静态的web前端页面进行了http 80端口代理:然后呢,因为一些原因,服务器重启了,重启服务器后,我去把nginx启动起来,但是 ...

  2. sina中的附件图片处理

    这样写就会频繁的创建和销毁对象 因为setPhotos这个方法调用频繁 如果在里面直接用for循环创建9个UIImageView如果因为cell重用 比如在上一个cell中本来就有UIImageVie ...

  3. mysql——中文数字排序的实现(FIELD)

    今天遇到一个需求,要求排序输出网格信息,但是数据是第三方对接插入的,并没有给我们排好顺序.所以只能自己动手了. 下图是原数据: 我们需要将其升序输出.使用mysql中的函数FIELD.语法如下: SE ...

  4. KETTLE实现复杂的流程

    KETTLE是一款将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的非常好用的一款ETL工具.学会它,对于跨数据库的表处理或者定时生成文本,excel等常 ...

  5. 数据库Oracle日期函数

    SYSDATE 函数:是一个日期函数,它返回当前数据库服务器的日期和时间. 用日期计算: • 从日期加或者减一个数,结果是一个日期值 • 两个日期相减,得到两个日期之间的天数 ,可以加小时到日期上 S ...

  6. jQuery中的基本选择器,id,class,元素,通用

    常用的基本选择器: 后续的补充选择器 为了后面看的方便,我们先将body中的内容展示出来: <body> <p> 账号:<input type="text&qu ...

  7. 用.NET模拟天体运动

    用.NET模拟天体运动 这将是一篇罕见而偏极客的文章. 我上大学时就见过一些模拟太阳系等天体运动的软件和网站,觉得非常酷炫,比如这个(http://www.astronoo.com/en/articl ...

  8. ARTS-S EN0002-London HIV patient's remission spurs hope for curing AIDS

    原文 A stem-cell treatment put a London cancer patient's HIV into remission, marking the second such r ...

  9. iSensor APP 之 摄像头调试 OV5642 续集2

    参考上一篇博客 作为续集,主要测试 RAW格式下的 不同分辨率效果 iSensor APP 之 摄像头调试 OV5642 直接上图吧 720p 拍照效果

  10. springboot中实现kafa指定offset消费

    kafka消费过程难免会遇到需要重新消费的场景,例如我们消费到kafka数据之后需要进行存库操作,若某一时刻数据库down了,导致kafka消费的数据无法入库,为了弥补数据库down期间的数据损失,有 ...