Django Restframework 实践(二)
2024-09-12 03:04:38
按照自己的方法来写接口
'''
@api_view([ 'POST','GET',]) 允许请求的是get或post方法,这里去掉get那么就不能用get方法请求
@permission_classes((permissions.AllowAny,)) 权限装饰器,如果去掉就无法访问
这里就是自己写的方法,这里用了AssetSerializer rest的序列化方法和Response展示的方法
'''
@api_view([ 'POST','GET',])
@permission_classes((permissions.AllowAny,))
def AssetList(request):
if request.method == 'GET':
asset_list = models.Asset.objects.all()
#rest 方法AssetSerializer(asset_list,many=True)
serializer = AssetSerializer(asset_list,many=True)
print serializer.data
#django 中并没有Response这个方法而是rest 封装的
return Response(serializer.data) elif request.method == 'POST':
serializer = AssetSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
else:
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
如果这样定义就无法在api页面中查询到了,页面中就没有http://localhost/api/asset_list/ 这个链接
自定义的结果也是可以正常返回的
最新文章
- 【Bootstrap基础学习】01 Bootstrap的CSS
- 在IIS上创建FTP服务
- php---apache的A/B测试
- ToolBar Style
- linux重启和关闭系统命令
- 深入理解Java虚拟机博客参考目录
- sqlserver自定义函数【粘】
- 你能在windows上创建一个叫做AUX的文件夹吗?
- 从补丁到POC CVE-2015-0003(2015.3)
- Python进行文本处理
- Linux下的定时任务 - Cron服务
- .27-浅析webpack源码之事件流make(2)
- slf4j+log4j2模式的日志搭建
- 《Redis 优化》
- redis 分布式锁实现
- This kernel requires an x86-64 CPU, but only detected an i686 CPU.
- C# 线程池执行操作例子
- 打开一个网站中的不同页面时,相同的js文件会被重复加载吗?
- LA 3938 动态最大连续和(线段树)
- Zookeeper之基于Observer部署架构