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