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})
 
   |