Heim  >  Artikel  >  Web-Frontend  >  So importieren Sie Daten stapelweise mit Ajax

So importieren Sie Daten stapelweise mit Ajax

php中世界最好的语言
php中世界最好的语言Original
2018-04-04 17:26:522170Durchsuche

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')

Dieser Teil des Codes bezieht sich auf den vorherigen Artikel (
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)
Django-Batch-Import nicht doppelter Daten

)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']+"条");   
     }           
   )
  });  
ff9c23ada1bcecdd1a0fb5d5a0f18437
     {% csrf_token %}
     2e1cf0710519d5598b1f0f14c36ba6744a70ab11cb3f9cc5680b32a240f0a02872ac96585ae54b6ae11f849d2649d9e6 请选择需要被导入的文件8c1ecd4bb896b2264e0711597d40766c
     b3f84f87d3c6874857fd110600f8fc53
     dceb1becf493d288d1722720122251ac
    f5a47148e367a6035fd7a2faa965022e
    db39dff8c01c205b23a9fa444ba37a7894b3e26ee717c64999d7867364b1b4a3
   94b3e26ee717c64999d7867364b1b4a3

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 AJAX


Wie realisiert Ajax eine lange Verbindung zwischen der Server und der Browser

Das 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn