Django框架之DRF get post put delete 使用简单示例 (利用序列化反序列化)
2024-09-03 01:57:14
路由配置
# 路由 from django.conf.urls import url
from django.contrib import admin
from app01 import views urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^PublishView/', views.PublishView.as_view()),
url(r'^PublishDetailView/(?P<pk>\d+)', views.PublishDetailView.as_view()),
]
视图类配置
# views.py from django.shortcuts import render
from rest_framework.views import APIView
from app01 import models
from app01.MySer import BookSer,PublishSer,AuthorSer
from rest_framework.response import Response
# Create your views here.
class PublishView(APIView): def get(self,request):
publish_list = models.Publish.objects.all()
bs = PublishSer(publish_list, many=True)
return Response(bs.data) def post(self, request):
bs = PublishSer(data=request.data)
if bs.is_valid():
bs.save()
return Response(bs.data)
else:
return Response(bs.errors) class PublishDetailView(APIView):
def get(self, request, pk):
publish_obj = models.Publish.objects.filter(pk=pk).first()
bs = PublishSer(publish_obj, many=False)
return Response(bs.data) def put(self, request, pk):
publish_obj = models.Publish.objects.filter(pk=pk).first()
bs = PublishSer(data=request.data, instance=publish_obj)
if bs.is_valid():
bs.save()
return Response(bs.data)
else:
return Response(bs.data) def delete(self, request, pk):
models.Publish.objects.filter(pk=pk).delete()
return Response("")
新建的表序列化类
# MySer.py from rest_framework import serializers
from app01 import models class BookSer(serializers.ModelSerializer):
class Meta:
model = models.Book
fields = '__all__' class PublishSer(serializers.ModelSerializer):
class Meta:
model = models.Publish
fields = '__all__' class AuthorSer(serializers.ModelSerializer):
class Meta:
model = models.Author
fields = '__all__'
最新文章
- 即时聊天IM之三 XMPP协议客户端库的和Android端框架概述
- UVa 10300 - Ecological Premium
- js实例代码
- 李洪强iOS开发之代理
- css样式:列表
- YII相关资料(干货)
- thinkphp带查询条件的分页
- 一个在java后台实现的对图片进行加网纹或水印的工具类
- PCI、CPCI、CPCIE 区别、特点
- Flask--路由, 配置, 蓝图
- Windows Server 2016-Active Directory复制概念(一)
- js 解决中文乱码的问题
- c#中委托和事件区别
- javascript中函数声明和函数表达式的区别 分类: JavaScript 2015-05-07 21:41 897人阅读 评论(0) 收藏
- c# 生成随机N位数字串(每位都不重复)
- IIS-将iis直接指向.net代码会出现错误
- Spring 4 官方文档学习(十一)Web MVC 框架之themes
- Unity 的OCulus VR开发遇到的坑---OC版本差异
- python pip源配置
- c#中的可选参数和命名参数的使用