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实现批量导入数据功能相关推荐

  1. django通过openpyxl操作excel文件,实现批量导入数据到数据库。

    1.在一些场景中经常需要管理员批量导入数据,先将数据写到excel表格中,再上传到系统上,最后将excel中的数据批量导入到系统的数据库中. 1.1.test.xlsx文件数据格式 首行的名字:必须是 ...

  2. mysql 存储过程 批量导入数据_sql 利用存储过程批量导入数据

    什么是 存储过程(stored procedure)是一组为了完成特定功能的sql语句集,是利用sql server所提供的transact-sql语言所编写的程序.经编译后存储在中.存储过程是数据库 ...

  3. SQL Server数据库中批量导入数据的四种方法总结

    在软件项目实施的时候,数据导入一直是项目人员比较头疼的问题.其实,在SQL Server中集成了很多成批导入数据的方法.有些项目实施顾问头疼的问题,在我们数据库管理员眼中,是小菜一碟.现在的重点就是, ...

  4. laravel ajax ip,怎么在Laravel中利用AJAX动态刷新部分页面

    怎么在Laravel中利用AJAX动态刷新部分页面 发布时间:2021-02-17 13:12:43 来源:亿速云 阅读:119 作者:Leah 怎么在Laravel中利用AJAX动态刷新部分页面?很 ...

  5. c datatable导入mysql_《项目经验》–简单三层使用DataTable向数据库表批量导入数据—向SqlServer一张表中导入数据 | 学步园...

    向数据库的一张表中添加数据,可以采用单个添加,即一条数据.一条数据的添加:也可以采用批量导入,依次将好些条数据写入数据库的一张表中.文本借助实例<添加系列信息>讲解一种向数据库批量导入数据 ...

  6. vue表单中批量导入功能_spring boot mybatis+ vue 使用POI实现从Excel中批量导入数据

    一.前端vue+element 1.前端使用element的upload组件来实现文件的上传 style="display: inline-flex;margin-right: 8px&qu ...

  7. SQL Server数据库中批量导入数据

    在软件项目实施的时候,数据导入一直是项目人员比较头疼的问题.其实,在SQL Server中集成了很多成批导入数据的方法.有些项目实施顾问头疼的问题,在我们数据库管理员眼中,是小菜一碟.现在的重点就是, ...

  8. 北风网ajax,[T8:JavaScript中利用Ajax实现客户端与服务器端通信北风网收费视频讲座.ppt...

    [T8:JavaScript中利用Ajax实现客户端与服务器端通信北风网收费视频讲座 Ajax简介 XMLHttpRequest对象 综合案例 1.HTTP请求 现在,很多浏览器都可以直接从JavaS ...

  9. Django 模板中使用 Ajax POST

    Django 模板中使用 Ajax POST 解决 Forbidden (CSRF token missing or incorrect.) 报错的解决方案 在以Django作为后端的项目开发中,前端 ...

最新文章

  1. 数据结构与算法—栈详解
  2. 算法工程师眼中的AI岗位
  3. 斐波那契数列PHP非递归数组实现
  4. 校园卡管理系统c语言代码,基于C++的校园一卡通管理系统
  5. 交互式甘特图控件,教你如何使用日历!
  6. 京东支付-付款码支付测试不通原因在这
  7. java程序员的项目经历如何写,大量教程
  8. 【真人手势动画制作软件】万彩手影大师教程 | 预览、保存及发布视频
  9. Unity中文API参考手册
  10. 【Android自定义控件】仿京东首页的京东快报,自动向上滚动的广告条
  11. XTUOJ-1104-素数个数
  12. UE4莫名其妙崩溃的解决办法
  13. 分布式计算原理之分布式协调与同步(1)——分布式选举
  14. Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
  15. 数据库(笔记)——三个世界与数据模型
  16. 美味连连-QQ游戏辅助-简单实用的QQ游戏美味连连辅助(非外挂)
  17. DPABI详细使用教材——数据准备、预处理流程、数据分析流程
  18. 跟李宁老师做项目:小程序版网上商城(Node.js + Express + MySQL)-李宁-专题视频课程...
  19. SAP License:ERP系统是什么意思
  20. 这几个图片工具请收藏好,能够解决大家拼图需求

热门文章

  1. lunbuntu install maven
  2. Hystrix全局配置默认超时时间
  3. Linux centos 6.7设置MySQL为开机启动
  4. TX-LCN分布式事务框架开发文档
  5. 删除右键菜单中的选项:在Visual Studio中打开
  6. matlab工具箱设置学习率_MATLAB金融工具箱:06:统计套利的机器学习2:特征工程和模型开发...
  7. acme.sh签发Let‘s Encrypt证书
  8. Windows 下 Anaconda3 的安装配置
  9. Linux 之二 Linux 多线程
  10. powerdesigner mysql 反引号_PowerDesigner实用技巧小结 及 导出word,想字段顺序跟模型中一致,如何设置...