[django]从前端返回字符串,后端转换为字典,执行数据添加操作
具体如题:
js代码如下:
$('#bill_add').click(function(){//合同添加
var bill1 = $("#bill1").val();var bill2 = $("#bill2").val();var bill3 = $("#bill3").val();var bill4 = $("#bill4").val();var bill5 = $("#bill5").val();
var bill6 = $("#bill6").val();var bill7 = $("#bill7").val();var bill8 = $("#bill8").val();var bill9 = $("#bill9").val();var bill10 = $("#bill10").val();
var bill11 = $("#bill1").val();var bill12 = $("#bill12").val();var bill13 = $("#bill13").val();var bill14 = $("#bill14").val();var bill15 = $("#bill15").val();
var bill16 = $("#bill16").val();var bill17 = $("#bill17").val();var bill18 = $("#bill18").val();var bill19 = $("#bill19").val();var bill20 = $("#bill20").val();
var bill21 = $("#bill21").val();var bill22 = $("#bill22").val();var bill23 = $("#bill23").val();var bill24 = $("#bill24").val();var bill25 = $("#bill25").val();
var bill26 = $("#bill26").val();var bill27 = $("#bill27").val();var bill28 = $("#bill28").val();var bill29 = $("#bill29").val();var bill30 = $("#bill30").val();
var bill31 = $("#bill31").val();var bill32 = $("#bill32").val();var bill33 = $("#bill33").val();var bill34 = $("#bill34").val();var bill35 = $("#bill35").val();
var bill36 = $("#bill36").val();var bill37 = $("#bill37").val();var bill38 = $("#bill38").val();var bill39 = $("#bill39").val();var bill40 = $("#bill40").val();
var bill41 = $("#bill41").val();
$.post("{% url 'add_contract' %}",
{
csrfmiddlewaretoken:"{{ csrf_token }}",
bill_str:"{'bill1':'"+bill1+"', 'bill2':'"+bill2+"', 'bill3':'"+bill3+"', 'bill4':'"+bill4+"', 'bill5':'"+bill5+"',"
+"'bill6':'"+bill6+"', 'bill7':'"+bill7+"', 'bill8':'"+bill8+"', 'bill9':'"+bill9+"', 'bill10':'"+bill10+"',"
+"'bill11':'"+bill11+"', 'bill12':'"+bill12+"', 'bill13':'"+bill13+"', 'bill14':'"+bill14+"', 'bill15':'"+bill15+"',"
+"'bill16':'"+bill16+"', 'bill17':'"+bill17+"', 'bill18':'"+bill18+"', 'bill19':'"+bill19+"', 'bill20':'"+bill20+"',"
+"'bill21':'"+bill21+"', 'bill22':'"+bill22+"', 'bill23':'"+bill23+"', 'bill24':'"+bill24+"', 'bill25':'"+bill25+"',"
+"'bill26':'"+bill26+"', 'bill27':'"+bill27+"', 'bill28':'"+bill28+"', 'bill29':'"+bill29+"', 'bill30':'"+bill30+"',"
+"'bill31':'"+bill31+"', 'bill32':'"+bill32+"', 'bill33':'"+bill33+"', 'bill34':'"+bill34+"', 'bill35':'"+bill35+"',"
+"'bill36':'"+bill36+"', 'bill37':'"+bill37+"', 'bill38':'"+bill38+"', 'bill39':'"+bill39+"', 'bill40':'"+bill40+"',"
+"'bill41':'"+bill41+"'}",
},
function(data,status) {
; $('#test').html(data['bill40']);
}
)
});
view中代码:
def add_contract(request):
bill_str = (request.POST['bill_str'])
bill_dic = eval(bill_str)
Bill.objects.create(contract_code=bill_dic['bill1'],contract_name=bill_dic['bill2'],new_flag=bill_dic['bill3'],original_code=bill_dic['bill4'],
con_type=bill_dic['bill5'],rep_nbr=bill_dic['bill6'],acc_code=bill_dic['bill7'],pstn_count=bill_dic['bill8'],
pstn_cost=bill_dic['bill9'],remark_one=bill_dic['bill10'],fibeione=bill_dic['bill11'],fibeione_cost=bill_dic['bill12'],
remark_two=bill_dic['bill13'],fibeitwo=bill_dic['bill14'],fibeitwo_cost=bill_dic['bill15'],remark_three=bill_dic['bill16'],
cmda_count=bill_dic['bill17'],cmda_cost=bill_dic['bill18'],remark_four=bill_dic['bill19'],qtsl_one=bill_dic['bill20'],
qtfy_one=bill_dic['bill21'],remark_five=bill_dic['bill22'],qtsl_two=bill_dic['bill23'],qtfy_two=bill_dic['bill24'],
remark_six=bill_dic['bill25'],qtsl_thr=bill_dic['bill26'],qtfy_thr=bill_dic['bill27'],remark_sev=bill_dic['bill28'],
qtsl_fou=bill_dic['bill29'],qtfy_fou=bill_dic['bill30'],remark_egh=bill_dic['bill31'],old_charge=bill_dic['bill32'],
charge=bill_dic['bill33'],deal_type=bill_dic['bill34'],con_age=bill_dic['bill35'],con_eff_date=bill_dic['bill36'],
con_exp_date=bill_dic['bill37'],con_sign_date=bill_dic['bill38'],con_agent=bill_dic['bill39'],charge_type=bill_dic['bill40'],
payment=bill_dic['bill41']) #bill_data = Bill.objects.all
return JsonResponse(bill_dic)
实际上文章采用的是从前端返回字典的字符串形式,例如"{'a':'a'}",然后在python中利用eval函数将其转换为字典形式,然后赋值执行django模型添加数据函数
这样可以不用后端request.POST一大堆数据,例如我上面bill1到bill41岂不是要request.POST40次,这样太麻烦了!
[django]从前端返回字符串,后端转换为字典,执行数据添加操作的更多相关文章
- C#中服务端接受前端JSON字符串转换成字典集合
我们是否可以把从前端接受的JSON字符串转换成字典集合呢? 比如从前端接收:{'size':'10', 'weight':'10kg'} 在服务端转换成:[{size:"10"}, ...
- [django]django配合前端vue前后端联调,django服务端解决跨域(django-cors-headers)
django内部csrf post提交数据解决 https://www.cnblogs.com/iiiiiher/articles/9164940.html 前端写了个页面,里面$.post发现403 ...
- Python自动化开发 - 字符串, 列表, 元组, 字典和和文件操作
一.字符串 特性:字符串本身不可修改,除非字符串变量重新赋值.Python3中所有字符串都是Unicode字符串,支持中文. >>> name = "Jonathan&q ...
- ASP.Net中通过Jquery前端对Repeater控件绑定的数据进行操作
说明:由于Repeater控件是动态绑定,通过Id获取数据只能默认获取第一行: 1.对Repeater中div设置样式 2.通过$(".css").each(function(){ ...
- 关于使用json 字符串转换为字典问题
问题背景: '{"backend": "www.baidu.org", "record": {"server": &qu ...
- python]用eval强制将字符串转换为字典变量时候出错:NameError: name 'null' is not defined[python]用eval函数 字符串转dict
本博客已搬家至个人网站 在路上 - On the way 下面的 技术 分类. 你可以通过点击 更新帖子 [已解决]Python中,用eval强制将字符串转换为字典变量时候出错:NameError: ...
- php strpos返回字符串首次出现的位置
(PHP 4, PHP 5, PHP 7) strpos — 查找字符串首次出现的位置 说明 mixed strpos ( string $haystack , mixed $needle [, in ...
- 初识Django之前端后端与数据库的配置
目录 一.静态文件配置 二.关于form表单的补充 三.post请求出现403问题 四.request方法初识 4.1判断当前请求方式 4.2request.POST与request.GET 五.py ...
- django项目一 分页器(前端分页和后端分页区别)
1. 客户信息展示 1. 母版和继承 {% extends 'layout'%} {% load static%} {% static '文件路径' %} block css js content 2 ...
随机推荐
- JS设置CSS样式的几种方式
用JS来动态设置CSS样式,常见的有以下几种 1. 直接设置style的属性 某些情况用这个设置 !important值无效 如果属性有'-'号,就写成驼峰的形式(如textAlign) 如果想保 ...
- 【Win10开发】处理PC上的后退键
我们知道在win10手机上和平板上都会有后退键,那么PC上该怎么办呢?没关系我们慢慢揭晓. 如果你已经是UWP的忠实用户,那么肯定会见到如下的后退键. 那么我们如何来做出来呢?, 我们首先打开App. ...
- [教学] Delphi Berlin 10.1 开发 Windows 10 平板 App 远程调试
Delphi Berlin 10.1 开发 Windows 10 平板 App 远程调试安装步骤: 准备电脑: 一台开发电脑,安装 Delphi 开发环境 一台平板电脑,安装 PAServer,安装方 ...
- perl use FileHandle;打开多个文件
use FileHandle;my %fh; my @filehandlename=("A","B","C"); ##文件句柄的名字: fo ...
- python之网络编程
本地的进程间通信(IPC)有很多种方式,但可以总结为下面4类: 消息传递(管道.FIFO.消息队列) 同步(互斥量.条件变量.读写锁.文件和写记录锁.信号量) 共享内存(匿名的和具名的) 远程过程调用 ...
- php实现设计模式之 桥接模式
<?php /** 桥接模式:将抽象部分与实现部分分离,使它们都可以独立的变化. * * 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,桥接模式就是应对这种多维度的变化 */ ...
- AdapterPattern(适配器模式)
import org.omg.PortableServer.AdapterActivator; /** * 分两种情况: * 1.类适配器 * 2.对象适配器 * 作用:让原本接口不兼容的两个类可以在 ...
- 爬虫的入门以及scrapy
一.简介 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁.自动索引.模拟 ...
- getElementsByTagName() 方法
HTML DOM Document 对象 定义和用法 getElementsByTagName() 方法可返回带有指定标签名的对象的集合. 语法 document.getElementsByTagNa ...
- iOS UITabBarController的使用
UITabBarController 和 UINavigationController 几乎是iOS APP的标配. UITabBarController分栏(标签栏)控制器, 和UINavigati ...