47)django-以put和delete方式提交数据
一:说明
同一个页面以ajax实现增删改查,对应方法post,delete,put,get,
其中delete和put方式提交的数据在request.body中需要序列化处理。
二:示例
#模板提交数据
function host_group_modify(thr) {
//更新数据 $.ajax({
url: "{% url "hostgroup" %}",
type: "put",
headers: {"X-CSRFtoken": csrftoken},
data: $("#form_host_group_edit").serialize(),
dataType: "json",
success: function (thr) {
if (thr.status) {
location.reload();
} else {
//第二次转换JSON
var errors = JSON.parse(thr.errors);
//显示alert
$(".alert").removeClass("hide");
var text = ""
for (i in errors) {
text += errors[i][0].message + ";";
}
$(".show_error").text(text)
}
}
}) #views中处理 def put(self,request):
"""修改主机组"""
data=request_body_serialze(request) hostgroup_obj=models.HostGroups.objects.filter(id=data.get("id")).first()
hostgroup_form_obj=forms.HostGroupFrom(data,initial=hostgroup_obj)
if hostgroup_form_obj.is_valid():
models.HostGroups.objects.filter(id=data.get("id")).update(**data)
else:
self.ret["status"] = False
self.ret["errors"] = hostgroup_form_obj.errors.as_json() return HttpResponse(json.dumps(self.ret)) #quertdict转成普通字典
# _*_ coding:utf-8 _*_
__author__ = "lixiang"
from django.http.request import QueryDict
def request_body_serialze(request):
#对request.body做QuertDict编码转换处理
#如果不做数据处理:格式b'id=49&name=%E4%B8%AD&name_cn=&comment='
#页面中提交的中文“中”,变成%E4%B8%AD
querydict=QueryDict(request.body.decode("utf-8"),encoding="utf-8")
response_dict={}
try:
for key,val in querydict.items(): response_dict[key]=val
except:
pass
return response_dict #处理结果 #处理前
<QueryDict: {'id': [''], 'name': ['中天'], 'name_cn': [''], 'comment': ['']}>
#处理后
{'id': '', 'name': '中天', 'name_cn': '', 'comment': ''}
47)django-以put和delete方式提交数据的更多相关文章
- Android 采用post方式提交数据到服务器
接着上篇<Android 采用get方式提交数据到服务器>,本文来实现采用post方式提交数据到服务器 首先对比一下get方式和post方式: 修改布局: <LinearLayout ...
- Android(java)学习笔记213:开源框架post和get方式提交数据(qq登录案例)
1.前面提到Http的get/post方式 . HttpClient方式,实际工作的时候不常用到,因为这些方式编写代码是很麻烦的 2.Android应用会经常使用http协议进行传输,网上会有很完善 ...
- Android 使用Post方式提交数据(登录)
在Android中,提供了标准Java接口HttpURLConnection和Apache接口HttpClient,为客户端HTTP编程提供了丰富的支持. 在HTTP通信中使用最多的就是GET和POS ...
- Android 使用Post方式提交数据
在Android中,提供了标准Java接口HttpURLConnection和Apache接口HttpClient,为客户端HTTP编程提供了丰富的支持. 在HTTP通信中使用最多的就是GET和POS ...
- 苹果微信浏览器不能post方式提交数据问题
form表单中采用post方式提交数据时,在苹果的微信浏览器中无法传递,安卓的可以 如图: 在controller中获取该数据为 null 将表单的提交方式修改为get就能够获取到 现在采用Ajax方 ...
- Android(java)学习笔记156:开源框架post和get方式提交数据(qq登录案例)
1. 前面提到Http的get/post方式 . HttpClient方式,实际工作的时候不常用到,因为这些方式编写代码是很麻烦的 2. Android应用会经常使用http协议进行传输,网上会有很 ...
- postman 中post方式提交数据
post方式提交数据时,把参数填写在body中而不是pOST下面的哪一行
- Android 采用get方式提交数据到服务器
首先搭建模拟web 服务器,新建动态web项目,servlet代码如下: package com.wuyudong.web; import java.io.IOException; import ja ...
- JQuery以JSON方式提交数据到服务端
JQuery将Ajax数据请求进行了封装,从而使得该操作实现起来容易许多.以往我们要写很多的代码来实现该功能,现在只需要调用$.ajax()方法,并指明请求的方式.地址.数据类型,以及回调方法等.下面 ...
随机推荐
- TypeScript 快速学习
https://learnxinyminutes.com/docs/zh-cn/typescript-cn/ https://www.tslang.cn/docs/handbook/basic-typ ...
- volatile的使用场景
单词解释: 乱序执行:指CPU对代码的执行顺序进行乱序优化,但保证各执行代码单元的顺序按指令顺序排列.以达到充分利用处理器的各处理单元的目的.(可以理解成:一个任务有不同的执行单元,这些单元之间有一定 ...
- 图像分类中max-pooling和average-pooling之间的异同
池化操作时在卷积神经网络中经常采用过的一个基本操作,一般在卷积层后面都会接一个池化操作,但是近些年比较主流的ImageNet上的分类算法模型都是使用的max-pooling,很少使用average-p ...
- Linux和进程内存模型
一.Linux和进程内存模型 jvm是一个进程的身份运行在linux系统上,了解linux和进程的内存关系,是理解jvm和Linux内存关系的基础. 硬件.系统.进程三个层面的内存之间的概要关系 1. ...
- Jmeter Md5加密操作之-------BeanShell PreProcessor
背景: 有一些登录会做一些md5校验,通过jmeter的BeanShell可以解决MD5加密情况. 1.首先需要一个解码的jar包,commons-codec-1.10.jar(网上很多),下载后,放 ...
- 【CentOS】Tomcat的安装
文件上传方式(推荐) # 解压 tar zxvf apache-tomcat-9.0.1.tar.gz # 进入bin目录启动 ./startup.sh # 进入log目录查看日志信息 tail -f ...
- Kotlin数据模型
Java中的常用的Bean类,每一个变量我们都需要写getter,setter方法,却都要手动实现很多方法: 尽管可以用工具帮我们完成,但是代码显得很臃肿,不灵活. 特别是当我们需改其中某一个成员的时 ...
- 一个spring3.2的项目 从jdk1.7放到1.8的环境中编译,打开网页异常:spring jar包版本升级经历
背景:一个历史项目用的是 spring3.2 的版本,在jdk1.7中运行没有问题,但是如果在jdk1.8中运行就会报错 ---浏览器中显示: HTTP Status 500 - Servlet.in ...
- 7.4mybatis整合ehcache(mybatis无法实现分布式缓存必须和其他缓存框架整合)
<\mybatis\day02\14查询缓存-二级缓存-整合ehcache.av> mybatis的缓存机制(一级缓存二级缓存和刷新缓存)和mybatis整合ehcache-- 这里有做本 ...
- AOP 横行切面编程和 纵向编程 介绍
1 aop:面向切面(方面)编程,扩展功能不修改源代码实现 2 AOP采取横向抽取机制,取代了传统纵向继承体系重复性代码3 aop底层使用动态代理实现(1)第一种情况,有接口情况,使用动态代理创建接口 ...