def register(request): if request.method == 'POST': user_name = request.POST.get('username', '') pass_word_1 = request.POST.get('password_1', '') pass_word_2 = request.POST.get('password_2', '') nick_name = request.POST.get('nickname', '') email = request.POST.get('email', '') avatar = request.FILES.get('avatar') if User.objects.filter(username=user_name): return render(request, 'register.html', {'error': '用户已存在'}) #将表单写入数据库 if (pass_word_1 != pass_word_2): return render(request, 'register.html', {'error': '两次密码请输入一致'}) user = User() if avatar: user.avatar = 'media/' + user_name + '.png' img = Image.open(avatar) size = img.size print(size) # 因为是要圆形,所以需要正方形的图片 r2 = min(size[0], size[1]) if size[0] != size[1]: img = img.resize((r2, r2), Image.ANTIALIAS) # 最后生成圆的半径 r3 = int(r2 / 2) img_circle = Image.new('RGBA', (r3 * 2, r3 * 2), (255, 255, 255, 0)) pima = img.load() # 像素的访问对象 pimb = img_circle.load() r = float(r2 / 2) # 圆心横坐标 for i in range(r2): for j in range(r2): lx = abs(i - r) # 到圆心距离的横坐标 ly = abs(j - r) # 到圆心距离的纵坐标 l = (pow(lx, 2) + pow(ly, 2))**0.5 # 三角函数 半径 if l < r3: pimb[i - (r - r3), j - (r - r3)] = pima[i, j] img_circle.save('blog/static/media/' + user_name + '.png') user.username = user_name user.password = pass_word_1 user.email = email user.nickname = nick_name user.save() #返回注册成功页面 return render(request, 'index_unlog.html') else: return render(request, 'register.html')
def register(request): # pass if request.method == "POST": user_name = request.POST.get('username', '') pass_word_1 = request.POST.get('password_1', '') pass_word_2 = request.POST.get('password_2', '') nick_name = request.POST.get('nickname', '') email = request.POST.get('email', '') avatar = request.FILES.get('avatar') if User.objects.filter(username=user_name): return render(request, 'blog/register.html', {'error': '用户已存在'}) if (pass_word_1 != pass_word_2): return render(request, 'blog/register.html', {'error': '两次密码输入不一致'}) user = User() # 将头像设置为圆形 if avatar: user.avatar = 'media/' + user_name + '.png' img = Image.open(avatar) size = img.size r2 = min(size[0], size(1)) if size[0] != size[1]: img = img.resize((r2, r2), Image.ANTIALIAS) r3 = int(r2 / 2) img_circle = Image.new('RGBA', (r3 * 2, r3 * 2), (255, 255, 255, 0)) pima = img.load() pimb = img_circle.load() r = float(r2 / 2) for i in range(r2): for j in range(r2): lx = abs(i - r) ly = abs(j - r) l = (pow(lx, 2) + pow(ly, 2)) ** 0.5 if l < r3: pimb[i - (r - r3), j - (r - r3)] = pima[i, j] img_circle.save('static/media/' + user_name + '.png') user.username = user_name user.password = pass_word_1 user.email = email user.nickname = nick_name user.save() return render(request, 'blog/index_unlogin.html') else: return render(request, 'blog/register.html')
def register(request): if request.method == 'POST': user_name = request.POST.get('username', '') pass_word_1 = request.POST.get('password_1', '') pass_word_2 = request.POST.get('password_2', '') nick_name = request.POST.get('nickname', '') email = request.POST.get('email', '') if User.objects.filter(username=user_name): return render(request, 'register.html', {'error': '用户已存在'}) #将表单写入数据库 if (pass_word_1 != pass_word_2): return render(request, 'register.html', {'error': '两次密码请输入一致'}) user = User() user.username = user_name user.password = make_password(pass_word_1) user.email = email user.nickname = nick_name user.save() #返回注册成功页面 return render_to_response('home_unlog.html') else: return render(request, 'register.html')