十一、Django之数据库数据+部门添加/删除/编辑员工

数据库数据

depart_list.html:

{% for obj in queryset %}
   
      {{ obj.id }}
      {{ obj.title }}
      
          编辑
          删除
      
   
{% endfor %}

十一、Django之数据库数据+部门添加/删除/编辑员工_第1张图片

view.py:

from django.shortcuts import render, redirect
from app01 import models


# Create your views here.

def depart_list(request):
    # 部門列表
    queryset = models.Department.objects.all()

    return render(request, 'depart_list.html', {'queryset': queryset})

部门添加员工

depart_list.html:

十一、Django之数据库数据+部门添加/删除/编辑员工_第2张图片


     
                    新建部门

urls.py:

添加path("depart/add/", views.depart_add),

views.py:

十一、Django之数据库数据+部门添加/删除/编辑员工_第3张图片

def depart_add(request):
    # 添加部門
    if request.method == "GET":
        return render(request, 'depart_add.html')

    title = request.POST.get("title")
    models.Department.objects.create(title=title)
    return redirect("/depart/list/")

添加depart_add.html:

{% load static %}



    
    Title
    
    



新建部门

{% csrf_token %}

部门删除员工

urls.py:

添加path("depart/delete/", views.depart_delete),

views.py:

def depart_delete(request):
    # 删除部门
    nid=request.GET.get('nid')
    models.Department.objects.filter(id=nid).delete()
    return redirect("depart/list/")

十一、Django之数据库数据+部门添加/删除/编辑员工_第4张图片

部门编辑员工

urls.py:

# 相当于正则表达式,约束了depart/和edit/之间只能有数字。http://127.0.0.1:8000/depart/2/edit/
    path("depart//edit/", views.depart_edit)

views.py:

def depart_edit(request, nid):
    # 修改部门
    if request.method == "GET":
        row_object = models.Department.objects.filter(id=nid).first()
        print(row_object.id, row_object.title)
        return render(request, 'depart_edit.html', {"row_object": row_object})
    # 获取用户提交的标题
    title = request.POST.get("title")
    # 根据id找到数据库数据并更新
    models.Department.objects.filter(id=nid).update(title="")
    # 重定向回部门列表
    return redirect("depart/list/")

添加depart_edit.html:

{% load static %}



    
    Title
    
    



修改部门

{% csrf_token %}

你可能感兴趣的:(Django入门,数据库,django,python,后端)