serializers序列化函数简单入门
1. 创建Django项目和应用程序
首先,我们需要创建一个Django项目和一个Django应用程序。如果你已经有了Django项目和应用程序,请跳过这一步。
$ django-admin startproject myproject $ cd myproject $ python manage.py startapp myapp 2. 安装Django Rest Framework
安装Django Rest Framework,并将其添加到你的Django项目的INSTALLED_APPS设置中。
$ pip install djangorestframework 在settings.py文件中添加以下配置:
INSTALLED_APPS = [ # ... 'rest_framework', 'myapp', ] 3. 创建数据模型和序列化程序
我们将创建一个简单的数据模型,并使用Django Rest Framework的序列化程序将其序列化为JSON格式。
在models.py文件中添加以下代码:
from django.db import models from django.contrib.auth.models import User class MyModel(models.Model): name = models.CharField(max_length=50) owner = models.ForeignKey(User, on_delete=models.CASCADE) def __str__(self): return self.name 在serializers.py文件中添加以下代码:
from rest_framework import serializers from myapp.models import MyModel class MyModelSerializer(serializers.ModelSerializer): class Meta: model = MyModel fields = '__all__' 4. 创建Django Rest Framework视图
我们将使用Django Rest Framework自动生成的视图来创建一个简单的API。
在views.py文件中添加以下代码:
from rest_framework import generics from myapp.models import MyModel from myapp.serializers import MyModelSerializer class MyModelList(generics.ListCreateAPIView): queryset = MyModel.objects.all() serializer_class = MyModelSerializer 这个视图将自动生成GET和POST方法,以检索和创建MyModel对象。现在,我们可以使用以下命令启动Django服务器:
$ python manage.py runserver 然后在浏览器中打开http://localhost:8000/mymodel/,你将看到一个JSON格式的响应,其中包含了MyModel对象的列表。
5. 扩展Django Rest Framework自动生成的API
现在我们已经创建了一个简单的Django Rest Framework API,并检索了MyModel对象的列表。我们将通过扩展这个API来添加新的功能。
添加PUT和DELETE方法
我们将添加PUT和DELETE方法,以允许客户端更新和删除MyModel对象。
在views.py文件中,将MyModelList视图类扩展为以下内容:
class MyModelList(generics.ListCreateAPIView): queryset = MyModel.objects.all() serializer_class = MyModelSerializer def put(self, request, *args, **kwargs): return self.update(request, *args, **kwargs) def delete(self, request, *args, **kwargs): return self.destroy(request, *args, **kwargs) 在这个例子中,我们重写了put()和delete()方法,并调用了update()
serializers序列化函数简单入门的更多相关文章
- shell的函数的简单入门
shell的函数的简单入门 语法: function funcname(){} 示例: #!/bin/bash #定义将参数转化为大写的函数 function strToUpper(){ | tr ' ...
- 数据结构和算法(Golang实现)(2)简单入门Golang-包、变量和函数
包.变量和函数 一.举个例子 现在我们来建立一个完整的程序main.go: // Golang程序入口的包名必须为 main package main // import "golang&q ...
- Serializers 序列化组件
Serializers 序列化组件 为什么要用序列化组件 当我们做前后端分离的项目~~我们前后端交互一般都选择JSON数据格式,JSON是一个轻量级的数据交互格式. 那么我们给前端数据的时候都要转 ...
- [原创]MYSQL的简单入门
MYSQL简单入门: 查询库名称:show databases; information_schema mysql test 2:创建库 create database 库名 DEFAULT CHAR ...
- emacs最简单入门,只要10分钟
macs最简单入门,只要10分钟 windwiny @2013 无聊的时候又看到鼓吹emacs的文章,以前也有几次想尝试,结果都是玩不到10分钟就退出删除了. 这次硬着头皮,打开几篇文章都看完 ...
- 【java开发系列】—— spring简单入门示例
1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...
- php ftp文件上传函数--新手入门参考
在 php编程中,用ftp上传文件比较多见,这里分享个简单入门型的ftp上传实例. <?php /** * ftp上传文件 * 学习ftp函数的用法 */ // 定义变量 $local_file ...
- delphi指针简单入门
delphi指针简单入门: 看一个指针用法的例子: 1 var 2 X, Y: Integer; // ...
- SpringMVC简单入门
SpringMVC简单入门 与大家分享一下最近对SpringMVC的学习,希望本文章能对大家有所帮助. 首先什么是SpringMVC? Spring 为展现层提供的基于MVC设计理念的优秀的Web框架 ...
- JavaScript简单入门(补充篇)
本文是对上一篇 JavaScript简单入门 的一些细节补充. 一.全局变量和局部变量 在<script>标签内定义的变量是当前页面中的全局变量.即 <script>标签可以直 ...
随机推荐
- SFC-系统文件检查器
Microsoft (R) Windows (R) Resource Checker 6.0 版 版权所有 (C) Microsoft Corporation.保留所有权利. 扫描所有保护的系统文件的 ...
- SpringMVC请求与响应
请求 知识点1:@RequestParam 名称 @RequestParam 类型 形参注解 位置 SpringMVC控制器方法形参定义前面 作用 绑定请求参数与处理器方法形参间的关系 相关参数 re ...
- 退役*CPCer的找实习总结
从2月底开始到今天,我终于拿到了第一个也是唯一一个offer(字节跳动).找实习的过程告一段落,所以想记录一下这段时间的经历. 最开始找$meopass$学长内推了小马智行,很快就接到了面试通知(再次 ...
- Object.defineProperty(定义试添加json对象的属性)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- echarts饼图同时展示数量和百分比
要在ECharts中同时展示饼图数据的数量和百分比,可以使用ECharts中的formatter功能.下面是一个简单的示例,演示如何在饼图中显示数量和百分比: option = { tooltip: ...
- mysql 当年所有月份列表
-- 不依赖任何表,只是用mysql自带函数方法select concat((select year(now())),'-01') as `date`union select concat((sele ...
- dropbear 2019.78 Installing to target......Running build_buildroot failed!
使能buildroot的环境变量 source envsetup.sh ;rv1126一般选择90make dropbear-dircleanmake dropbear./build.sh rootf ...
- Oralyzer-20220205
Usage: oralyzer.py [-h] [-u URL] [-l PATH] [-crlf] [-p PAYLOAD] [--proxy] [--wayback] 可选参数: -h, --he ...
- CompletableFuture的thenCompose使用具体说明
1.thenCompose 如果你还没有了解CompletableFuture或者希望再次熟悉一下,可以参考 CompletableFuture使用方法详细说明 1.1. thenCompose的特点 ...
- java对excel的操作
1.对比任意两张excel表是否有不同行 并输出哪一行那一列不同 2.包含解析合并单元格方法 3.比较主要思路 a.解析excel: b.遍历第一张表数据所有行 c.遍历第二张表数据所有行 d.遍历第 ...