Home > Article > Web Front-end > How to import data in batches with ajax
This time I will show you how to batch import data with ajax. What are the precautions for ajax batch import of data? The following is a practical case, let's take a look.
The example of this article shares with you the implementation method of using ajax to realize the batch import data function in the web page for your reference. The specific content is as followsurl.py code:url(r'^workimport/$', 'keywork.views.import_keywork', name='import_keywork')view.py code:
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 = 0 for line in f: parts = line.replace('"','') #将字典中的"替换空 parts = parts.split(',') #按;对字符串进行切片 if DevData.objects.filter(serv_id = parts[0],user_flag=parts[15]).exists(): x = x + 1 else: y = y + 1 WorkList.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)This part of the code refers to the previous article (
Django batch import of non-duplicate data)
Code in the template:$('#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']+"条"); } ) }); ff9c23ada1bcecdd1a0fb5d5a0f18437 {% csrf_token %} 2e1cf0710519d5598b1f0f14c36ba6744a70ab11cb3f9cc5680b32a240f0a02872ac96585ae54b6ae11f849d2649d9e6 请选择需要被导入的文件8c1ecd4bb896b2264e0711597d40766c b3f84f87d3c6874857fd110600f8fc53 dceb1becf493d288d1722720122251ac f5a47148e367a6035fd7a2faa965022e db39dff8c01c205b23a9fa444ba37a7894b3e26ee717c64999d7867364b1b4a3 94b3e26ee717c64999d7867364b1b4a3The form uses post+ajax. Note that using the post method to submit a form in Django must meet two conditions: Add {% csrf_token %} to the form, and add csrfmiddlewaretoken:"{ to the
jquery code { csrf_token }}", that's it!
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the PHP Chinese website! Recommended reading:Detailed explanation of the use of AJAX's XMLHttpRequest object
The above is the detailed content of How to import data in batches with ajax. For more information, please follow other related articles on the PHP Chinese website!