用户管理编辑/删除页面

 

主要功能:

一、点击编辑跳转到编辑页面(将页面行的ID携带过去)

二、编辑页面(默认数据,根据ID获取并设置到页面中) 

三、提交时:

  • 错误提示
  • 数据校验
  • 在数据库中更新
models.UserInfo.filter(id = 4).update(....)

使用ModelForm之后:    

    

urls

 path('user/<int:nid>/edit/', views.user_edit),

 views :  注意要传入nid

def user_edit(request, nid):
    """编辑用户"""

    return render(request, 'user_edit.html')

user_edit.html

{% extends 'layout.html' %}

{% block content %}
    <div class="container">
        编辑用户页面
    </div>

{% endblock %}

user_list.html  的编辑标签

<a class="btn btn-primary btn-xs" href="/user/{{ obj.id }}/edit/">编辑</a>

  实现编辑

def user_edit(request, nid):
    """编辑用户"""
    if request.method == "GET":
        # 根据ID去数据库获取要编辑的哪一行的数据
        row_object = models.UserInfo.objects.filter(id=nid).first()

        # class 里定义的UserModelForm
        form = UserModelForm(instance=row_object)  # 添加默认值 instance

        return render(request, 'user_edit.html', {'form': form})  # form 将input框添加进来

    row_object = models.UserInfo.objects.filter(id=nid).first()  # 是修改,而不是重新创建并提交一行
    form = UserModelForm(data=request.POST, instance=row_object)
    if form.is_valid():
        form.save()
        return redirect('/user/list/')
    return render(request, 'user_edit.html', {'form': form})  # 若出现错误,提交返回到原来的表单

删除页面:        

DataField : 只有年月日 没有时分秒 

 根据nid删除

def user_delete(request, nid):
    models.UserInfo.objects.filter(id=nid).delete()
    return redirect('/user/list/')

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值