1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
| import os, uuid
from django.db import transaction from django.http import HttpResponse from django.shortcuts import render, redirect from work.models import User, Staff import random, string from captcha.image import ImageCaptcha from django.core.paginator import Paginator
def emplist(request): return redirect("work:emplist_logic")
def login(request): return render(request, "work/login.html")
def regist(request): return render(request, "work/regist.html")
def addEmp(request): return render(request, "work/addEmp.html")
def updateEmp(request): id = request.GET.get('id') staff = Staff.objects.get(pk=id) return render(request, "work/updateEmp.html", {"staff": staff})
def login_logic(request): username = request.POST.get("name") userpwd = request.POST.get("pwd") res = User.objects.filter(username=username, userpwd=userpwd) if res: request.session['is_login'] = True return redirect("work:emplist") return redirect("work:login")
def getCaptacha(request): image = ImageCaptcha() code = random.sample(string.ascii_lowercase + string.ascii_uppercase + string.digits, 4) random_code = ''.join(code) request.session['code'] = random_code data = image.generate(random_code) return HttpResponse(data, "image/png")
def regist_logic(request): username = request.POST.get("username") name = request.POST.get("name") userpwd = request.POST.get("pwd") sex = request.POST.get("sex") captcha = request.POST.get('captcha') code = request.session.get('code') if code.lower() == captcha.lower(): res = User.objects.filter(username=username) if res: return HttpResponse("用户已存在") with transaction.atomic(): User.objects.create(username=username, name=name, userpwd=userpwd, sex=sex) return redirect("work:login") else: return HttpResponse('注册失败')
def addEmp_logic(request): res = request.session.get('is_login') if res: return redirect("work:emplist_logic") name = request.POST.get('name') salary = request.POST.get('salary') age = request.POST.get('age') pic = request.FILES.get('head_pic') ext = os.path.splitext(pic.name)[1] head_pic = str(uuid.uuid4()) + ext pic.name = head_pic with transaction.atomic(): Staff.objects.create(name=name, salary=salary, age=age, pic=pic) return redirect("work:emplist_logic")
def updateEmp_logic(request): id = request.GET.get('id') print(id) staff = Staff.objects.get(pk=id) name = request.POST.get('name') salary = request.POST.get('salary') age = request.POST.get('age') pic = request.FILES.get('head_pic') ext = os.path.splitext(pic.name)[1] head_pic = str(uuid.uuid4()) + ext pic.name = head_pic with transaction.atomic(): staff.name = name staff.salary = salary staff.age = age staff.pic = pic staff.save() return redirect("work:emplist")
def delete_logic(request): with transaction.atomic(): id = request.GET.get('id') staff = Staff.objects.filter(pk=id) staff.delete() return redirect('work:emplist')
def emplist_logic(request): num =request.GET.get('num',1) paginator = Paginator(Staff.objects.all(), per_page=3) page = paginator.page(num)
return render(request, 'work/emplist.html', {"page": page})
|