博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
好吧,如果一定要RESTFUL的DJANGO
阅读量:4649 次
发布时间:2019-06-09

本文共 2297 字,大约阅读时间需要 7 分钟。

看看人家写的VIEWSET,

然后用REQUESTS测试一下。

from rest_framework import viewsetsfrom rest_framework.decorators import detail_routefrom display.models import Alertfrom serializers import UserSerializer, AlertSerializerfrom django.contrib.auth.models import Userfrom rest_framework import permissionsfrom api.permissions import IsOwnerOrReadOnlyclass UserViewSet(viewsets.ReadOnlyModelViewSet):    """    This viewset automatically provides `list` and `detail` actions.    """    queryset = User.objects.all()    serializer_class = UserSerializer    permission_classes = (permissions.IsAuthenticatedOrReadOnly,                      IsOwnerOrReadOnly,)class AlertViewSet(viewsets.ModelViewSet):    """    This viewset automatically provides `list`, `create`, `retrieve`,    `update` and `destroy` actions.    Additionally we also provide an extra `highlight` action.    """    queryset = Alert.objects.all()    serializer_class = AlertSerializer    permission_classes = (permissions.IsAuthenticatedOrReadOnly,                          IsOwnerOrReadOnly,)    def perform_create(self, serializer):        serializer.save(owner=self.request.user)

 

# coding=utf8import urllib  import urllib2 import base64import jsonimport requests#GETurl = 'http://127.0.0.1:8000/api/alert/'response = requests.get(url)print "GET output:"print response.text#PUTurl = 'http://127.0.0.1:8000/api/alert/4/'data = {
'data_source':'TEST18 DB', 'alarm_level':8, 'owner':'admin', 'alarm_topic':'出错啦', 'alarm_type':'DB'}response = requests.put(url, data=data, auth=('admin','admin'))print "PUT output:"print response.text#POSTurl = 'http://127.0.0.1:8000/api/alert/'data = {
'data_source':'TEST DB', 'alarm_level':8, 'owner':'admin', 'alarm_topic':'出错啦', 'alarm_type':'DB'}response = requests.post(url, data=data, auth=('admin','admin'))print "POST output:"print response.text#HEADurl = 'http://127.0.0.1:8000/api/alert/9/'response = requests.head(url)print "HEAD output:"print response.text#OPTIONSurl = 'http://127.0.0.1:8000/api/alert/9/'response = requests.options(url)print "OPTIONS output:"print response.text'''#DELETEurl = 'http://127.0.0.1:8000/api/alert/8/'response = requests.delete(url, auth=('admin','admin'))print "DELETE output:"print response.text'''

来个图爽爽

转载于:https://www.cnblogs.com/aguncn/p/4896241.html

你可能感兴趣的文章
building tool
查看>>
JS中for循环输出三角形
查看>>
字节对齐2
查看>>
与Win8之磁盘活动时间100%斗争心得
查看>>
Matrix: android 中的Matrix (android.graphics.Matrix) (转)
查看>>
Android中处理崩溃异常
查看>>
Day7—socket进阶
查看>>
只读数据文件损坏恢复
查看>>
转过来的,可以看下
查看>>
windows搭建SVN服务MD版
查看>>
Java私塾的一些基础练习题(一)
查看>>
Shell 07 项目案例
查看>>
Dapper基础用法
查看>>
一步步学习SPD2010--第九章节--使用可重用工作流和工作流表单(1)--创建和使用可重用工作流...
查看>>
Network 第六篇 - 三层交换机配置路由功能
查看>>
OSL LLVM 3.3 Related Changes
查看>>
1.4 99乘法表
查看>>
雇佣K个工人的最小费用 Minimum Cost to Hire K Workers
查看>>
mysql优化方法
查看>>
[转]【HttpServlet】HttpServletResponse接口 案例:完成文件下载
查看>>