Notifications
Clear all
Mastering Advanced E-Commerce Development with Python Django
1
Posts
2
Users
0
Reactions
12
Views
0
19/02/2025 12:02 am
Topic starter
Respected Sir, reference section No. 13 and sub-section
Account Activation – Decode User PK & Activate the User | Expire Link
As I fill up the sign-up form and click on the Register option. Then the following text does not appear
Thank you for registering with us. We have sent you a verification email to your email address.[aijazaliinayatbutt@gmail.com] Please verify it.
login.html
{% block content %}
<section class="section-content padding-y"style="min-height:84vh">
<!-- ========================= SECTION CONTENT ========================= -->
{% if request.GET.commmand == 'verification' %}
<div class="container mx-auto alert alert-info"roll="alert"style="max-width: 1024px; margin-top:100px;">
Thank you for registering with us. We have sent you a verification email to your email address.[{{ request.GET.email }}] please verify it.
<br><br>
Aready verified? <a href="{% url 'login' %}">login</a>
</div>
{% else %}
views.py
# user activation
current_site = get_current_site(request)
mail_subject = 'Please activate your account'
message = render_to_string('accounts/account_verification_email.html', {
'user': user,
'domain': current_site,
'uid': urlsafe_base64_encode(force_bytes(user.pk)),
'token': default_token_generator.make_token(user),
})
to_email = email
send_email = EmailMessage(mail_subject, message, to=[to_email])
send_email.send()
# messages.success(request, 'Thank you for registering with us. We have sent you a verification email to your email address[aijazaliinayatbutt@gmail.com]. please verify it.')
return redirect('/accounts/login/?command=verification&email='+email)
else:
form = RegistrationForm()
context = {
'form':form,
}
return render(request, 'accounts/register.html', context)
def login(request):
if request.method=='POST':
email = request.POST['email']
password = request.POST['password']
user = auth.authenticate(email=email, password=password)
if user is not None:
auth.login(request, user)
# messages.success(request, 'You are now logged in')
return redirect('home')
else:
messages.error(request, 'Invalid login credentials')
return redirect('login')
return render(request, 'accounts/login.html')
@login_required(login_url='login')
def logout(request):
auth.logout(request)
messages.success(request, 'You are logged out')
return redirect('login')
def activate(request, uidb64, token):
try:
uid = urlsafe_base64_decode(uidb64).decode()
user = Account._default_manager.get(pk=uid)
except(TypeError, ValueError, OverflowError, Account.DoesNotExist):
user = None
if user is not None and default_token_generator.check_token(user, token):
user.is_active = True
user.save()
messages.success(request, 'Congratulations! Your account is activated.')
return redirect('login')
else:
messages.error(request, 'Invalid activation link')
return redirect('register')
This topic was modified 3 days ago by Ejaz Ali Inayat
1 Answer
0
19/02/2025 1:24 pm
Hi Ejaz Ali Inayat,
Your given code looks correct. But if you are still facing issues, can you provide your GitHub repository so we can debug the issue and give you the correct answer?