案例:员工管理系统3(员工: 删,改)

一. 在urls.py文件添加URL和视图函数对应关系
    # 用户管理
    path('user/list/', views.user_list), # 用户列表
    path('user/add/', views.user_add),  # 添加

    path('user/model/form/add/', views.user_model_form_add),  # model_form版添加
    path('user/<int:nid>/edit/', views.user_edit),   # 改 <int:nid> = 向 depart/edit网站传址必须传一个id号  因为要把id对应行显示出来
    path('user/<int:nid>/delete/', views.user_delete),# 删除
二. 在views.py文件写视图函数
def user_edit(request, nid):
    """ 编辑用户 """
    row_object = models.UserInfo.objects.filter(id=nid).first()
    if request.method == "GET":
        # 根据id去数据库获取要编辑的那行数据
        # row_object = models.UserInfo.objects.filter(id=nid).first()
        form = UserModelForm(instance=row_object)
        return render(request, 'user_edit.html', {"form": form})

    form = UserModelForm(data=request.POST, instance=row_object)
    if form.is_valid():
        # 默认保存的是用户输入的所有数据,如果要在用户输入以外增加一些值
        # form.instance.字段名 = 值
        form.save()
        return redirect('/user/list/')
    return render(request, 'user_edit.html', {"form": form})


def user_delete(request, nid):
    """ 删除用户 """
    models.UserInfo.objects.filter(id=nid).delete()
    return redirect('/user/list/')
三. templates里写HTML文件
{% extends 'layout.html' %}  <!-- 继承模板 -->

{% block content %}  <!-- 模板替换内容 -->
    <div class="container">
        <div class="panel panel-default">
            <div class="panel-heading">
                <h3 class="panel-title"> 编辑用户 </h3>
            </div>
            <div class="panel-body">
                <form method="post" novalidate>  <!-- 表单 -->
                    {% csrf_token %}  <!-- 验证机制 -->

                    {% for field in form %}  <!-- 循环取出字段 -->
                        <div class="form-group">
                            <label>{{ field.label }}</label>
                            {{ field }}  <!-- 字段 -->
                            <span style="color: red;">{{ field.errors.0 }}</span>  <!-- 提示错误 -->
                        </div>
                    {% endfor %}  <!-- 结束循环 -->

                    <button type="submit" class="btn btn-primary">提 交</button>  <!-- 添加表单按钮 -->
                </form>
            </div>
        </div>
    </div>
    
{% endblock %}  <!-- 模板替换内容结束 -->

四.效果展示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值