python在Django框架下實現增刪改查功能
from django.shortcuts import render
#引入資料表
from app01.models import DepartInfo,UserInfo
#重定向
from django.http import HttpResponseRedirect
from django.core.paginator import Paginator,EmptyPage,PageNotAnInteger
# Create your views here.
#首頁
def gotoIndex(request):
return render(request,'index.html')
#跳轉到新增部門頁面
def gotoDepart(request):
return render(request,'depart/addDepart.html')
#新增部門資訊
def addDepartInfo(request):
#獲取部門資訊
departName=request.POST.get("departName")
#儲存部門資訊
# print('-------------------')
# print(departName)
#判斷部門是否存在
if DepartInfo.objects.filter(dName=departName):
return render(request,'depart/addDepart.html',{"msg":"部門已經存在"})
else:
#判斷是否新增內容
if DepartInfo(dName=departName):
DepartInfo(dName=departName).save()
return render(request,'depart/addDepart.html',{"msg":"部門新增成功"})
else:
return render(request,'depart/addDepart.html',{"msg":"部門新增失敗"})
#跳轉到新增員工資訊
def gotoUser(request):
#獲取所有部門 表
departInfo=DepartInfo.objects.all()
#返回到客戶端 html
return render(request,'user/addUser1.html',{"departInfo":departInfo})
#新增員工資訊1===>2
def addUserName(request):
#獲取客戶端資料 html
departId=request.GET.get("departId")
uName=request.GET.get("uName")
departName=DepartInfo.objects.get(dId=departId).dName
print(departId,uName)
#儲存資料,進行資料快取
#存的是部門id
request.session['departId']=departId
#員工姓名
request.session['uName']=uName
dict1={"departId":departId,'uName':uName,"departName":departName}
return render(request,'user/addUser2.html',dict1)
#新增員工資訊2===》3
def addUserNumSex(request):
#獲取客戶端資訊
#性別
uSex=request.GET.get("uSex")
#工號
uNum=request.GET.get("uNum")
print(uSex,uNum)
#儲存資料
request.session['uSex']=uSex
request.session['uNum']=uNum
if uSex=="1":
uSex="男"
elif uSex=="2":
uSex="女"
dict1={"uSex":uSex,"uNum":uNum}
return render(request,'user/addUser3.html',dict1)
#儲存員工資訊3
def addUserMoney(request):
#獲取客戶端資料
uMoney=request.GET.get("uMoney")
#儲存資料
#存的是部門id
departId=request.session['departId']
#員工姓名
uName=request.session['uName']
uSex=request.session['uSex']
uNum=request.session['uNum']
# print('---------')
# print(uMoney,departId,uName,uSex,uNum)
if UserInfo(dId=departId,uName=uName,uNum=uNum,usex=uSex,umoney=uMoney):
UserInfo(dId=departId,uName=uName,uNum=uNum,usex=uSex,umoney=uMoney).save()
return render(request,'user/addUser3.html')
#返回2===》1
def backUserName(request):
#存的是部門id
departId=request.session['departId']
departName=DepartInfo.objects.get(dId=departId).dName
departInfo=DepartInfo.objects.all()
#員工姓名
uName=request.session['uName']
dict1={"departId":departId,'uName':uName,"departName":departName,"departInfo":departInfo,"flag":"1"}
return render(request,'user/addUser1.html',dict1)
#返回3===》2
def backUserNum(request):
uSex=request.session['uSex']
uNum=request.session['uNum']
if uSex=="1":
dict1={"uSex":uSex,"uNum":uNum,"sexTrue":"1"}
return render(request,'user/addUser2.html',dict1)
elif uSex=="2":
dict1={"uSex":uSex,"uNum":uNum}
return render(request,'user/addUser2.html',dict1)
#展示員工資訊
def gotoShowUserInfo(request):
userInfo=UserInfo.objects.all()
for i in userInfo:
#員工資訊表的部門id=部門表的名稱
i.dId=DepartInfo.objects.get(dId=i.dId).dName
if i.usex==1:
i.usex="男"
elif i.usex==2:
i.usex="女"
pagesize=1
pages=Paginator(userInfo,pagesize)
p=request.GET.get("p")
try:
pageDatas=pages.page(p)
except PageNotAnInteger:
pageDatas=pages.page(1)
except EmptyPage:
pageDatas=pages.page(pages.num_pages)
return render(request,'user/showUserInfo.html',{"userInfo":pageDatas})
#編輯員工資訊
def gotoUpdateUser(request):
#獲取客戶端引數
uId=request.GET.get("uId")
#返回夫伺服器資料
userInfo=UserInfo.objects.get(uId=uId)
dName=DepartInfo.objects.get(dId=userInfo.dId).dName
departInfo=DepartInfo.objects.all()
if userInfo.usex==1:
return render(request,'user/updateUserInfo.html',{"userInfo":userInfo,"dName":dName,"departInfo":departInfo,"seTrue":"1"})
elif userInfo.usex==2:
return render(request,'user/updateUserInfo.html',{"userInfo":userInfo,"dName":dName,"departInfo":departInfo})
#編輯員工資訊
def updateUserInfo(request):
#獲取客戶端資料
uId=request.GET.get("uId")
departId=request.GET.get("departId")
#departId=DepartInfo.objects.get(dName=departId)
uName=request.GET.get("uName")
uSex=request.GET.get("uSex")
uNum=request.GET.get("uNum")
uMoney=request.GET.get("uMoney")
print(departId,uName,uSex,uNum,uMoney)
#修改儲存資料
if UserInfo.objects.filter(uId=uId):
UserInfo.objects.filter(uId=uId).update(dId=departId,uName=uName,uNum=uNum,usex=uSex,umoney=uMoney)
return HttpResponseRedirect('/gotoShowUserInfo')
#return render(request,'user/showUserInfo.html')
#刪除函式
def gotoDeleteUser(request):
uId=request.GET.get("uId")
UserInfo.objects.filter(uId=uId).delete()
return HttpResponseRedirect('/gotoShowUserInfo')
#批量刪除
def dodeleteUserInfoAll(request):
uids=request.GET.get("uids")
#return HttpResponseRedirect('/gotoShowUserInfo')
UserInfo.objects.extra(where=['uId in ('+uids+')']).delete()
return HttpResponseRedirect('/gotoShowUserInfo')
#搜尋
def gotoSearch(request):
#獲取客戶端資料
searTxt=request.GET.get("searTxt")
departInfo=DepartInfo.objects.filter(dName__contains=searTxt)
for i in departInfo:
print(i.dId)
#進行搜尋
userInfo=UserInfo.objects.filter(dId=i.dId)
for i in userInfo:
i.dId=DepartInfo.objects.get(dId=i.dId).dName
if i.usex==1:
i.usex="男"
elif i.usex==2:
i.usex="女"
pagesize=1
pages=Paginator(userInfo,pagesize)
p=request.GET.get("p")
try:
pageDatas=pages.page(p)
except PageNotAnInteger:
pageDatas=pages.page(1)
except EmptyPage:
pageDatas=pages.page(pages.num_pages)
return render(request,'user/showUserInfo.html',{"userInfo":pageDatas,"searTxt":searTxt})