django中的 前後臺之間的交互------------------利用ajax

1、在前端:

 // 新添加代碼 孔格 2020 3 10 model_ajax 後臺交互
                        $.ajaxSetup({
                          data: {csrfmiddlewaretoken: '{{ csrf_token }}' },
                        });
                        $.ajax({
                          url: '/modal_ajax/',
                          data:{host:table.row('.selected').data()['de_id']},
                          dataType:"json",
                          type:'post',
                          success:function (data){
                            // alert(data['host'])
                            console.log(data['modal_drug_de_id'])
                            console.log(data['modal_drug_mw'])
                            $("#mw").attr("value",data['modal_drug_mw']);
                            $("#svg").attr("src",'/static/display1/'+data['modal_drug_de_id']+'.svg');
                            $("#smiles").attr("value",data['modal_drug_smiles']);
                            $('#raw_link').attr('href','https://39.99.151.46/raw/'+data['modal_drug_de_id']+'/')
                            
                          }
                        })
                      }
                console.log(table.row('.selected').data());
            } );

在這裏插入圖片描述
2、在後端 的views 中 使用:

def modal_ajax(request):
    if request.is_ajax():
       # 直接獲取所有的post請求數據
       data = request.POST
       # 獲取其中的某個鍵的值
       modal_drug_de_id = request.POST.get("host")
       print(data)
       print('modal de_id get is ----------------------------->{}'.format(modal_drug_de_id))
       _,drug = models.ChildrenAndGrands.check_one_two_three_and_get(de_id = modal_drug_de_id)
       modal_drug_de_id = drug.de_id
       modal_drug_smiles = drug.smiles
       modal_drug_mw = drug.mw
       modal_drug_logp = drug.logp
       modal_drug_h_a = drug.h_a
       modal_drug_h_d = drug.h_d
       modal_drug_r_b = drug.r_b
       modal_drug_tpsa = drug.tpsa
       modal_drug_qed = drug.qed
       modal_drug_sascore = drug.sascore
       modal_drug_parents_id = drug.parents_id
       modal_drug_ns_id = drug.ns_id
       modal_drug_pdb_code = drug.pdb_code
       modal_drug_drugbank_code = drug.drugbank_code
       modal_drug_bindingdb_code = drug.bindingdb_code
       modal_drug_chembl_code = drug.chembl_code
       modal_drug_ccdc_code = drug.ccdc_code

       # 將models 轉化爲 字典
    #    dict_drug = model_to_dict(modal_drug)
    #    將字典轉化爲json 對象
    #    json_drug = serializers.serialize("json", dict_drug)
       
       response = JsonResponse({
           'modal_drug_de_id':modal_drug_de_id,
           'modal_drug_mw':modal_drug_mw,
           'modal_drug_smiles': modal_drug_smiles,
           'modal_drug_logp' :  modal_drug_logp,
           'modal_drug_h_a' :  modal_drug_h_a,
           'modal_drug_h_d' : modal_drug_h_d,
           'modal_drug_r_b' : modal_drug_r_b,
           'modal_drug_tpsa' : modal_drug_tpsa,
           'modal_drug_qed' : modal_drug_qed,
           'modal_drug_sascore' : modal_drug_sascore,
           'modal_drug_parents_id' : modal_drug_parents_id,
           'modal_drug_ns_id' : modal_drug_ns_id,
           'modal_drug_pdb_code' : modal_drug_pdb_code,
           'modal_drug_drugbank_code' : modal_drug_drugbank_code,
           'modal_drug_bindingdb_code' : modal_drug_bindingdb_code,
           'modal_drug_chembl_code' : modal_drug_chembl_code,
           'modal_drug_ccdc_code' : modal_drug_ccdc_code,
           })
       return response
    else:
        return render(request,'404.html')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章