def user_insert(request): from django.contrib.auth.hashers import make_password # list1 = ['username', 'password', 'phone', 'email', 'address', 'age', 'sex', 'status'] res = request.POST try: uname = res['username'] user_a = Users() user_a.username = res['username'] user_a.password = make_password(res['password'], None, 'pbkdf2_sha256') user_a.phone = res['phone'] user_a.email = res['email'] user_a.address = res['address'] user_a.age = res['age'] if res['sex'] in ('0', '1'): user_a.sex = res['sex'] else: a = '\033[1;31mERROR: \033[1;34m文件:%s\033[1;31m 年龄字段 插入 error , 插入价值不是男或女\033[0m' % ( MYADMAIN_USER_V1) print(a) raise AttributeError("年龄字段 插入 error , 插入价值不是男或女, %s" % a) if res['status'] in ('0', '1', '2'): user_a.status = res['status'] else: b = '\033[1;31mERROR: \033[1;34m文件:%s\033[1;31m 状态字段 插入 error, 插入值不正确\033[0m' % ( MYADMAIN_USER_V1) print(b) raise AttributeError("状态字段 插入 error, 插入值不正确, %s" % b) # user_a.status = res['status'] if request.FILES.get('pic', None): user_a.pic = filesload(request, uname) user_a.save() return HttpResponse( '<script>alert("添加成功");location.href="/myadmin/user_index"</script>' ) except AttributeError as arterror: return HttpResponse( '<script>alert("添加失败, 图片上传错误, 请重新添加");location.href="/myadmin/useradd"</script>' ) except BaseException as be: return HttpResponse( '<script>alert("添加失败, 字段指定错误请重新制定");location.href="/myadmin/useradd"</script>' )
def post(self, request): try: from django.contrib.auth.hashers import make_password res = request.POST list1 = [ 'username', 'password', 'phone', 'email', 'address', 'age', 'sex' ] for i in list1: if not res.get(i): print(res.get(i)) return HttpResponse( '<script>alert("字段为空, 无法添加");location.href="/register/"</script>' ) print('username_res', res.get('username')) users_name = Users.objects.filter(username=res.get('username')) print(users_name) if len(users_name) != 0: return HttpResponse( '<script>alert("用户名已存在, 请重新添加");location.href="/register/"</script>' ) user_a = Users() user_a.username = res['username'] user_a.password = make_password(res['password'], None, 'pbkdf2_sha256') user_a.phone = res['phone'] user_a.email = res['email'] user_a.address = res['address'] user_a.age = res['age'] user_a.sex = res['sex'] user_a.status = 1 user_a.save() request.session['login_status'] = True request.session['login_users'] = { 'user_id': user_a.id, 'username': user_a.username } except: return HttpResponse( '<script>alert("表单信息不正确, 请重新添加");location.href="/register/"</script>' ) return redirect(reverse('home_index'))
def insertuser(request): try: ob = Users() ob.username = request.POST['username'] ob.name = request.POST['name'] #获取密码并md5 m = hashlib.md5() m.update(bytes(request.POST['password'], encoding="utf8")) ob.password = m.hexdigest() ob.sex = request.POST['sex'] ob.code = request.POST['code'] ob.phone = request.POST['phone'] ob.email = request.POST['email'] ob.status = request.POST['status'] ob.addtime = time.time() ob.save() context = {'info': '添加成功!'} except: context = {'info': '添加失败!'} return render(request, "myadmin/info.html", context)
def do_useradd(request): # 添加try的原因: # 防止发生内部错误:例如外键冲突,字段唯一性等 try: us = Users() us.username = request.POST['username'] # 实例化md5实例 md5 = hashlib.md5() # python3中md5只能加密字节型数据,所以要用bytes强制转换 md5.update(bytes(request.POST['password'],encoding="utf-8")) us.password = md5.hexdigest() us.name = request.POST['name'] us.gender = request.POST['sex'] us.mobile = request.POST['mobile'] us.address = request.POST['address'] us.state = 0 us.status = 0 us.save() context = {"info":"添加成功"} except: context = {"info": "添加失败"} return render(request, "myadmin/info.html", context)