对应视频链接点击直达
09Django项目--用户管理系统--删
- 对应视频链接点击直达
- 删
- a,本质
- b,删除
- 页面相关
- a,index页面新增操作按钮
- b,ajax删除和提示
- c,完整版本
- OVER,不会有人不会吧···不会的加Q1394006513
- 结语
一些朋友加我Q反馈,希望有每个阶段的完整项目代码,那从今天开始,我会上传完整的项目代码。
用户管理,简而言之就是用户的增删改查。
08项目点击下载,可直接运行(含数据库)
链接:https://pan.baidu.com/s/1aWrixRcvIy992cLORL6U1A?pwd=1314
提取码:1314
删
a,本质
删除,本质是一个先查询,再操作的,两步结合命令
b,删除
可以分成两步
# 查找age大于18且gender等于0的用户
users_to_delete = Users.objects.filter(age__gt=18, gender=0)
# 如果有多个数据,会都删除,相当于.all()
# 如果需要print其中的一个,需要指定,如.first()
# 删除找到的用户
users_to_delete.delete()
也可以一步到位
Users.objects.filter(age__gt=18, gender=0).delete()
页面相关
a,index页面新增操作按钮
<a href="javascript:void(0)" class="btn btn-danger del btn-xs popconfirm" name="{{ User.data_id }}" onclick="del(this)">
<i class="fa fa-trash-o"></i> 删 除
{% csrf_token %}
<!-- 保护数据安全 -->
{{ form.as_p }}
</a>
b,ajax删除和提示
<script type="text/javascript" src="/static/js/jquery-1.8.3.min.js"></script>
<script>
//删除tr页面s
function del(obj){
//alert(obj);
if(confirm("没点错?")==true){
var tr=obj.parentNode.parentNode;
tr.parentNode.removeChild(tr);}
}
var mytab = document.getElementById('mytab');
</script>
<script type="text/javascript">
// alert($);
//获取删除按钮
$(".del").click(function(){
o=$(this);
//获取id
data_id=$(this).attr("name");
if(confirm("删除操作不可逆,你确定要删除吗?")==true){
//Ajax
$.get("/wodeapp/user_delete/",{data_id:data_id},function(data){
});
{#alert(data_id);#}
}
});
</script>
c,完整版本
urls.py
# 用户删除
path('user_delete/', views.user_delete, name='user_delete'),
views.py
def user_delete(request):
# 获取用户data_id
data_id = request.GET['data_id']
# 查找age大于18且gender等于0的用户
# users_to_delete = Users.objects.filter(age=111)
# for user in users_to_delete:
# print(user.name)
# user.delete()
# 等于直接使用users_to_delete.delete()
# users_to_delete.delete()
Users.objects.filter(data_id=data_id).delete()
# 删除找到的用户
其他如上
完整版本前端,去下载文件里面看user_index.html吧
OK
OVER,不会有人不会吧···不会的加Q1394006513
结语
别的也没啥说的 , 如果觉得可以 , 希望一键三连支持一下 !
ok,那就这样吧~
欢迎各位大佬留言吐槽,也可以深入交流~