예제 #1
0
def signup(request):
    if request.user.is_authenticated:
        return redirect('/home')

    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            user.is_active = False
            user.save()

            current_site = get_current_site(request)
            mail_subject = 'Activate your blog account.'
            message = render_to_string(
                'app/acc_active_email.html', {
                    'user': user,
                    'domain': current_site.domain,
                    'uid': urlsafe_base64_encode(force_bytes(user.pk)),
                    'token': account_activation_token.make_token(user),
                })
            to_email = form.cleaned_data.get('email')
            email = EmailMessage(mail_subject, message, to=[to_email])
            email.send()
            return render(request, 'app/user_confirmation.html')
    else:
        form = SignupForm()
    return render(request, 'app/user_registration.html', {'form': form})
예제 #2
0
파일: htmlviews.py 프로젝트: me2d09/prius
def signup(request):
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            user.is_active = False
            user.save()

            try:
                sendActivationMail(user, get_current_site(request))
            except:
                return render(
                    request, 'registration/message.html', {
                        'text':
                        'System was not able to send you email with activation link. '
                        + 'Please try again or contact support.',
                    })

            return render(
                request, 'registration/message.html', {
                    'text':
                    'Registration was successful and activation e-mail was send to you. '
                    +
                    'Please check your mailbox (and possibly spam folder) and activate your account.',
                })
    else:
        form = SignupForm()
    return render(request, 'registration/signup.html', {'form': form})
예제 #3
0
def signup(request):
    tags = Tag.objects.count_popular()
    if request.user.is_authenticated():
        return HttpResponseRedirect('/')
    form = SignupForm(request.POST, request.FILES)
    if request.method == "POST":

        if form.is_valid():
            user = form.save()
            auth.login(request, user)
            return HttpResponseRedirect('/')
    else:
        form = SignupForm()

    return render(request, 'register.html', {
        'form': form,
        'tags': tags,
    })