def register(request): if request.session.get('is_login', None): return redirect(reverse('social:index')) if request.method == 'POST': register_form = forms.RegisterForm(request.POST) message = "请检查填写的内容!" if register_form.is_valid(): username = register_form.cleaned_data.get('username') password1 = register_form.cleaned_data.get('password1') password2 = register_form.cleaned_data.get('password2') email = register_form.cleaned_data.get('email') sex = register_form.cleaned_data.get('sex') if password1 != password2: message = '两次输入的密码不同!' return render(request, 'login/register.html', locals()) else: same_name_user = UserProfile.objects.filter(username=username) if same_name_user: message = '用户名已经存在' return render(request, 'login/register.html', locals()) same_email_user = UserProfile.objects.filter(email=email) if same_email_user: message = '该邮箱已经被注册了!' return render(request, 'login/register.html', locals()) new_user = UserProfile() new_user.username = username new_user.password = hash_code(password1) new_user.email = email new_user.sex = sex new_user.save() code = make_confirm_string(new_user) a = send_mail(email, code) print(a) message = '请前往邮箱进行确认!' return render(request, 'login/confirm.html', locals()) else: return render(request, 'login/register.html', locals()) register_form = forms.RegisterForm() return render(request, 'login/register.html', locals())
def post(self, request): register_form = registerForm(request.POST) if register_form.is_valid(): user_name = request.POST.get("email", "") if UserProfile.objects.filter(email=user_name): return render(request, "register.html", { "register_form": register_form, "msg": "用户已经存在!" }) pass_word = request.POST.get("password", "") user_profile = UserProfile() user_profile.username = user_name user_profile.email = user_name user_profile.password = make_password(pass_word) user_profile.save() send_register_email(user_name, "register") return render(request, "success.html") else: return render(request, "register.html", {"register_form": register_form})