[Django]网页中利用ajax实现批量导入数据功能
url.py代码:
url(r'^workimport/$', 'keywork.views.import_keywork', name='import_keywork')
view.py代码:
from keywork.models import DevData from django.http import JsonResponse #django ajax部分def import_keywork(request):file_sjdr = request.POST['file_keywork']f = open(file_sjdr)WorkList = []next(f) #将文件标记移到下一行x = y = 0for line in f:parts = line.replace('"','') #将字典中的"替换空parts = parts.split(',') #按;对字符串进行切片if DevData.objects.filter(serv_id = parts[0],user_flag=parts[15]).exists():x = x + 1else:y = y + 1WorkList.append(DevData(serv_id=parts[0], serv_state_name=parts[1], acc_nbr=parts[2], user_name=parts[3], acct_code=parts[4], product_id=parts[5],mkt_chnl_name=parts[6], mkt_chnl_id=parts[7],mkt_region_name=parts[8], mkt_region_id=parts[9],mkt_grid_name=parts[10],sale_man=parts[11],sale_outlets_cd1_name=parts[12], completed_time=parts[13],remove_data=parts[14], user_flag=parts[15],pro_flag=parts[16], service_offer_id=parts[17],service_offer_name=parts[18], finish_time=parts[19],staff_name=parts[20],staff_code=parts[21],org_name=parts[22],prod_offer_name=parts[23],day_id=parts[24],))f.close() DevData.objects.bulk_create(WorkList)num = {'success':str(y) ,'fail':str(x) , 'sum':str(x+y)}return JsonResponse(num)
此部分代码参考上一片文章 (django批量导入不重复数据)
模板中代码:
$('#btn_sjdr').click(function(){$.post("{% url 'import_keywork' %}",{csrfmiddlewaretoken:"{{ csrf_token }}",file_keywork:$("#file_keywork").val(),},function(data,status) { $("#test1").html(status+"重复数据"+data['fail']+"条,成功导入数据"+data['success']+"条"); } )}); <form>{% csrf_token %}<label><i class="icon-file"></i> 请选择需要被导入的文件</label><input id="file_keywork" type="file"/><input type="button" id="btn_sjdr" value="导入" class="btn btn-primary btn-sm"/></form><div id="test1"></div></div>
表单采用post+ajax,注意django中使用post方法提交表单要满足两个条件:
在form加入{% csrf_token %},在jquery代码中加入csrfmiddlewaretoken:"{{ csrf_token }}",即可!
文章完!
转载于:https://www.cnblogs.com/CQ-LQJ/p/5318935.html
[Django]网页中利用ajax实现批量导入数据功能相关推荐
- django通过openpyxl操作excel文件,实现批量导入数据到数据库。
1.在一些场景中经常需要管理员批量导入数据,先将数据写到excel表格中,再上传到系统上,最后将excel中的数据批量导入到系统的数据库中. 1.1.test.xlsx文件数据格式 首行的名字:必须是 ...
- mysql 存储过程 批量导入数据_sql 利用存储过程批量导入数据
什么是 存储过程(stored procedure)是一组为了完成特定功能的sql语句集,是利用sql server所提供的transact-sql语言所编写的程序.经编译后存储在中.存储过程是数据库 ...
- SQL Server数据库中批量导入数据的四种方法总结
在软件项目实施的时候,数据导入一直是项目人员比较头疼的问题.其实,在SQL Server中集成了很多成批导入数据的方法.有些项目实施顾问头疼的问题,在我们数据库管理员眼中,是小菜一碟.现在的重点就是, ...
- laravel ajax ip,怎么在Laravel中利用AJAX动态刷新部分页面
怎么在Laravel中利用AJAX动态刷新部分页面 发布时间:2021-02-17 13:12:43 来源:亿速云 阅读:119 作者:Leah 怎么在Laravel中利用AJAX动态刷新部分页面?很 ...
- c datatable导入mysql_《项目经验》–简单三层使用DataTable向数据库表批量导入数据—向SqlServer一张表中导入数据 | 学步园...
向数据库的一张表中添加数据,可以采用单个添加,即一条数据.一条数据的添加:也可以采用批量导入,依次将好些条数据写入数据库的一张表中.文本借助实例<添加系列信息>讲解一种向数据库批量导入数据 ...
- vue表单中批量导入功能_spring boot mybatis+ vue 使用POI实现从Excel中批量导入数据
一.前端vue+element 1.前端使用element的upload组件来实现文件的上传 style="display: inline-flex;margin-right: 8px&qu ...
- SQL Server数据库中批量导入数据
在软件项目实施的时候,数据导入一直是项目人员比较头疼的问题.其实,在SQL Server中集成了很多成批导入数据的方法.有些项目实施顾问头疼的问题,在我们数据库管理员眼中,是小菜一碟.现在的重点就是, ...
- 北风网ajax,[T8:JavaScript中利用Ajax实现客户端与服务器端通信北风网收费视频讲座.ppt...
[T8:JavaScript中利用Ajax实现客户端与服务器端通信北风网收费视频讲座 Ajax简介 XMLHttpRequest对象 综合案例 1.HTTP请求 现在,很多浏览器都可以直接从JavaS ...
- Django 模板中使用 Ajax POST
Django 模板中使用 Ajax POST 解决 Forbidden (CSRF token missing or incorrect.) 报错的解决方案 在以Django作为后端的项目开发中,前端 ...
最新文章
- 数据结构与算法—栈详解
- 算法工程师眼中的AI岗位
- 斐波那契数列PHP非递归数组实现
- 校园卡管理系统c语言代码,基于C++的校园一卡通管理系统
- 交互式甘特图控件,教你如何使用日历!
- 京东支付-付款码支付测试不通原因在这
- java程序员的项目经历如何写,大量教程
- 【真人手势动画制作软件】万彩手影大师教程 | 预览、保存及发布视频
- Unity中文API参考手册
- 【Android自定义控件】仿京东首页的京东快报,自动向上滚动的广告条
- XTUOJ-1104-素数个数
- UE4莫名其妙崩溃的解决办法
- 分布式计算原理之分布式协调与同步(1)——分布式选举
- Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
- 数据库(笔记)——三个世界与数据模型
- 美味连连-QQ游戏辅助-简单实用的QQ游戏美味连连辅助(非外挂)
- DPABI详细使用教材——数据准备、预处理流程、数据分析流程
- 跟李宁老师做项目:小程序版网上商城(Node.js + Express + MySQL)-李宁-专题视频课程...
- SAP License:ERP系统是什么意思
- 这几个图片工具请收藏好,能够解决大家拼图需求
热门文章
- lunbuntu install maven
- Hystrix全局配置默认超时时间
- Linux centos 6.7设置MySQL为开机启动
- TX-LCN分布式事务框架开发文档
- 删除右键菜单中的选项:在Visual Studio中打开
- matlab工具箱设置学习率_MATLAB金融工具箱:06:统计套利的机器学习2:特征工程和模型开发...
- acme.sh签发Let‘s Encrypt证书
- Windows 下 Anaconda3 的安装配置
- Linux 之二 Linux 多线程
- powerdesigner mysql 反引号_PowerDesigner实用技巧小结 及 导出word,想字段顺序跟模型中一致,如何设置...