用户表的基本操作2
编辑用户按钮
- 点击编辑,跳转到编辑页面(将编辑的ID携带过去)
代码如下:
urlpatterns = [
    #用户编辑
    path('user/<int:nid>/edit/',views.user_edit),
]
- 编辑页面(默认数据,根据id获取并设置到页面中)
 (1)提交
 (2)错误提示
 (3)数据校验
 (4)在数据库更新
#编辑用户
def user_edit(request,nid):
    # 根据ID去数据库获取要编辑的那一行数据
    row_object = models.UseInfo.objects.filter(id=nid).first()
    if request.method=='GET':
        # #根据ID去数据库获取要编辑的那一行数据
        # row_object=models.UseInfo.objects.filter(id=nid).first()
        # 将数据显示出来
        form=UserModelForm(instance=row_object)
        return render(request,'user_edit.html',{'form':form})
    else:
        # #拿到对象
        # row_object=models.UseInfo.objects.filter(id=nid).first()
        #不新增数据,将用户提交的数据新修改到对应的数据项
        #instance传递用户提交的数据
        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})
- 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">
<!--              novalidate关掉页面校验  -->
                <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>
        <!--                        <input type="text" class="form-control"  placeholder="标题" name="user">-->
                              </div>
                      {% endfor %}
                      <button type="submit" class="btn btn-primary">提 交</button>
                </form>
            </div>
        </div>
    </div>
{% endblock %}
- 编辑演示
  
删除按钮
- 添加路径与函数的关系
urlpatterns = [
    #用户删除
    path('user/<int:nid>/delete/', views.user_delete),
]
#用户删除函数
def user_delete(request,nid):
    models.UseInfo.objects.filter(id=nid).delete()
    return redirect('/user/list/')
- 删除演示
  
入职日期——不显示时分,只显示年月日——使用DataField函数不使用DateTimeField
修改models记得重新执行命令,更新数据库结构
python manage.py makemigrations
python manage.py migrate

修改前

修改后
