Cet article présente principalement les informations pertinentes sur l'utilisation d'ajax par le framework Django pour implémenter la fonction d'importation de données par lots. Les amis dans le besoin peuvent s'y référer
L'exemple de cet article partage avec vous l'utilisation d'ajax. pour implémenter la fonction d'importation de données par lots sur la page Web. La méthode d'implémentation est pour votre référence. Le contenu spécifique est le suivant :
code url.py :
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)
Code dans le modèle :
$('#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>
Le formulaire utilise post+ajax. Notez que l'utilisation de la méthode post dans Django pour soumettre un formulaire doit remplir deux conditions :
Ajouter {% csrf_token %} au formulaire, et ajouter csrfmiddlewaretoken : "{{ csrf_token }}" au code jquery, et c'est tout !
Ce qui précède est ce que j'ai compilé pour tout le monde. J'espère que cela sera utile à tout le monde à l'avenir.
Articles connexes :
Implémentation de la file d'attente de requêtes AJAX
Un résumé de plusieurs méthodes de soumission de formulaires de manière asynchrone à l'aide d'Ajax
Comment résoudre le problème des tableaux dans les requêtes AJAX
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!