Dieses Mal zeige ich Ihnen, wie Sie Daten stapelweise mit Ajax importieren. Das Beispiel in diesem Artikel zeigt Ihnen die Implementierungsmethode der Verwendung von Ajax zur Implementierung der Batch-Importdatenfunktion auf der Webseite als Referenz. Der spezifische Inhalt lautet wie folgt:
url.py Code:
view.py-Code:url(r'^workimport/$', 'keywork.views.import_keywork', name='import_keywork')
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)
)Code in der Vorlage:
Das Formular verwendet Post+Ajax. Beachten Sie, dass die Verwendung der Post-Methode zum Senden eines Formulars in Django zwei Bedingungen erfüllen muss:$('#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> <p id="test1"></p> </p>
Fügen Sie {% csrf_token %} zum Formular hinzu und fügen Sie den
jquery-Code hinzu. Fügen Sie einfach csrfmiddlewaretoken hinzu: „{{ csrf_token }}“ und das war’s! Ich glaube, Sie beherrschen die Methode Nachdem Sie den Fall in diesem Artikel gelesen haben, lesen Sie bitte andere verwandte Artikel auf der chinesischen PHP-Website.
Empfohlene Lektüre:
Detaillierte Erläuterung der Verwendung des XMLHttpRequest-Objekts von AJAXWie realisiert Ajax eine lange Verbindung zwischen der Server und der BrowserDas obige ist der detaillierte Inhalt vonSo importieren Sie Daten stapelweise mit Ajax. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!