好吧,如果一定要RESTFUL的DJANGO
看看人家写的VIEWSET,
然后用REQUESTS测试一下。
from rest_framework import viewsets from rest_framework.decorators import detail_route from display.models import Alert from serializers import UserSerializer, AlertSerializer from django.contrib.auth.models import User from rest_framework import permissions from api.permissions import IsOwnerOrReadOnly class 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=utf8 import urllib import urllib2 import base64 import json import requests #GET url = 'http://127.0.0.1:8000/api/alert/' response = requests.get(url) print "GET output:" print response.text #PUT url = '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 #POST url = '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 #HEAD url = 'http://127.0.0.1:8000/api/alert/9/' response = requests.head(url) print "HEAD output:" print response.text #OPTIONS url = 'http://127.0.0.1:8000/api/alert/9/' response = requests.options(url) print "OPTIONS output:" print response.text ''' #DELETE url = 'http://127.0.0.1:8000/api/alert/8/' response = requests.delete(url, auth=('admin','admin')) print "DELETE output:" print response.text '''
来个图爽爽
好吧,如果一定要RESTFUL的DJANGO的更多相关文章
- django rest framework restful 规范
内容回顾: . django请求生命周期 -> 执行遵循wsgi协议的模块(socket服务端) -> 中间件(路由匹配) -> 视图函数(业务处理:ORM.模板渲染) -> ...
- Django开发目录
Django开发[第一章]:Django基础和基本使用 Django开发[第二章]:Django URLConf 进阶 Django开发[第三章]:Django View 进阶 Django开发[第四 ...
- Django Rest framework 之 序列化
RESTful 规范 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) ...
- Django Rest framework 之 解析器
RESTful 规范 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) ...
- Django Rest framework 之 版本
RESTful 规范 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) ...
- Django Rest framework 之 节流
RESTful 规范 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) ...
- linux Vue+nginx+django 实现前后端分离
示例项目 -- LuffyCity.com 的上线 具体解释,vue前端提供静态页面,且可以向后台发起get,post等restful请求 django后台提供数据支撑,返回json数据,返回给vue ...
- Django Rest framework 之 视图
RESTful 规范 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) ...
- Django Rest framework 之 分页
RESTful 规范 django rest framework 之 认证(一) django rest framework 之 权限(二) django rest framework 之 节流(三) ...
随机推荐
- 《转》手把手教你使用Git
Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不 需要联网了,因为版本都是在自己的电脑上.既然每个人的电脑都有一个完整的版本库,那多个人如何 ...
- desc跟asc
- 达夫设备/达夫算法(Duff's Device)
主要是下面的代码: register n = (count + 7) / 8; /\* count > 0 assumed \*/ switch (count % 8) { case 0: ...
- 最简单的基于Flash的流媒体示例:网页播放器(HTTP,RTMP,HLS)
http://blog.csdn.net/leixiaohua1020/article/details/43936415 ======================================= ...
- Linux搭建SSH服务器
Linux 远程登录服务:ssh ·SSH是标准的网络协议,可用于大多数UNIX操作系统,能够实现字符界面的远程登录管理,它默认使用22号端口,采用密文的形式在网络中传输数据,相对于通过明文传输的Te ...
- 脱离Xcode,程序在模拟器中无法运行
今天在调试项目的时候 突然发现,如果项目不通过Xcode启动而是直接通过模拟器进行启动,程序闪一下马上退出,并且不是闪退,而是跑到后台去了,并且后台的程序同样无法启动.找了好多解决办法,最后的解决方案 ...
- html表单 第四节
实例: <html> <head> <title>表单实例</title> </head> <body> <center& ...
- Source Insight及常用插件
Source Insight及常用插件 1.Source Insight 2.插件 <1>.使用快捷键注释,单行注释,多行注释,#if 0注释 <2>.跳转到当前文件所在的文件 ...
- Constants in C++
The first motivation for const seems to have been to eliminate the use of preprocessor #define for v ...
- Linux中的堡垒--iptables
iptables的构成(四表五链) 表 filter:过滤数据包 nat :转换数据包的源或目标地址 mangle:用来mangle包,改变包的 ...