Django学习日记-04j补充单表编辑部分
Posted kangkang1999
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django学习日记-04j补充单表编辑部分相关的知识,希望对你有一定的参考价值。
JS阻止默认事件发生
-是指在html当一个a标签同时存在href超链接和onclick事件函数,点击a标签默认优先执行事件函数,然后再执行href超链接
-如果不想要执行herf超链接则在onclick中加入return 后在事件函数中添加 return false
<a href="http://www.baidu.com" onclick="return showmodal()"> 对话框添加</a> {# 包含事件 #}
funtion showmodal(){
xxxx
return false }
单表编辑
1,参考新url的方式 先解决原本数据的填充
可以在showmodal函数中查找 通过当前标签向上推出数据
a标记当前位置
<a onclick="showmodal2(this)">编辑添框加</a>
b找到当前位置
var row= $(ths).parent().prevAll(); //找到目标位置 var差不多声明
c打印目标内容
var content = $(row[0]).text(); // 打印出目标内容
console.log(content); //console打印
d填入对应标签
$(‘#edit_title‘).val(content); //内容填入
2,在url.py中写入对应的url
3 ,在views中写入编辑函数
-依旧用HttpResponse返回 可以采用一个对象字典 返回信息
-对象字典的作用是可以更加直观 try except 正常发送 如果失败 发送 False 和 error/
-json。dumps的作业是将字典转化为字符串
def modal_edit_class(request): ret = {‘status‘:True ,‘message‘:None} try: id = request.POST.get(‘id‘) title = request.POST.get(‘title‘) sqlhelp.get_commit(‘update class set title=%s where id=%s‘, [title, id, ]) except Exception as e: ret[‘status‘] = False ret[‘message‘] = "eroor" import json return HttpResponse(json.dumps(ret))
4,在html写Ajax
-填入客户端输入的数据/声明
· var id =$(‘#edit_id‘).val(); var title = $(‘#edit_title‘).val(); console.log(id,title);//打印
-三步走 url ,type,data
$.ajax({ url:‘/modal_edit_class/‘, type:‘POST‘, data:{‘id‘:id,‘title‘:title}, success:function (arg) { console.log(arg); //打印返回结果参数arg arg是字符串类型 {#JSON.parse(字符串) //把字符串转化为字典对象#} {#JSON.stringify(对象) //把字典对象转化为字符串#} arg =JSON.parse(arg); if (arg.status){ location.reload();//相当于location.href=‘/class/‘ 当前页面刷新 }else{ alert(arg.message) }
总结:-对于单表编辑部分应该注意数据库本身的数据显示,用(this)定位找出标签位置 ,为防止出现BUG可以多次的用console.lolg(xxx)进行测试,在我个人的理解中var xx=$(xx).xxx差不多是声明一个常量 $(‘#xx‘) 是声明一个标签 .val()是填入数据
-在views函数中可以用对象字典是形式试错 try except注意字典和字符串之间的转化,因为httpresponse只返回字符串所以必须转化
以上是关于Django学习日记-04j补充单表编辑部分的主要内容,如果未能解决你的问题,请参考以下文章