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
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?

MultiValueDictKeyError at /accounts/login/
'password'
Request Method: POST
Request URL: http://127.0.0.1:8000/accounts/login/
Django Version: 3.1
Exception Type: MultiValueDictKeyError
Exception Value:
'password'
Exception Location: C:\Users\rohit\OneDrive\Desktop\Great kart\env\lib\site-packages\django\utils\datastructures.py, line 78, in __getitem__
Python Executable: C:\Users\rohit\OneDrive\Desktop\Great kart\env\Scripts\python.exe
Python Version: 3.8.5
Python Path:
['C:\\Users\\rohit\\OneDrive\\Desktop\\Great kart',
'C:\\Users\\rohit\\AppData\\Local\\Programs\\Python\\Python38\\python38.zip',
'C:\\Users\\rohit\\AppData\\Local\\Programs\\Python\\Python38\\DLLs',
'C:\\Users\\rohit\\AppData\\Local\\Programs\\Python\\Python38\\lib',
'C:\\Users\\rohit\\AppData\\Local\\Programs\\Python\\Python38',
'C:\\Users\\rohit\\OneDrive\\Desktop\\Great kart\\env',
'C:\\Users\\rohit\\OneDrive\\Desktop\\Great kart\\env\\lib\\site-packages']
Server time: Mon, 09 Jun 2025 04:13:32 +0000
views.py
from django.shortcuts import render, redirect
from .forms import RegistrationForm
from .models import Account
from django.contrib.auth.decorators import login_required
from django.contrib import messages, auth
from django.http import HttpResponse
#Verification email
from django.contrib.sites.shortcuts import get_current_site
from django.template.loader import render_to_string
from django.utils.http import urlsafe_base64_encode, urlsafe_base64_decode
from django.utils.encoding import force_bytes
from django.contrib.auth.tokens import default_token_generator
from django.core.mail import EmailMessage
def register(request):
if request.method == 'POST':
form = RegistrationForm(request.POST)
if form.is_valid():
first_name = form.cleaned_data['first_name']
last_name = form.cleaned_data['last_name']
phone_number = form.cleaned_data['phone_number']
email = form.cleaned_data['email']
password = form.cleaned_data['password']
username = email.split("@")[0]
user = Account.objects.create_user(first_name=first_name, last_name=last_name, email=email, username= username, password= password)
user.phone_number = phone_number
user.save()
#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,'Registration successful.')
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('dashboard')
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.objects.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')
@login_required(login_url = 'login')
def dashboard(request):
return render(request, 'accounts/dashboard.html')
def forgotPassword(request):
if request.method =='POST':
email = request.POST['email']
if Account.objects.filter(email= email).exists():
user= Account.objects.get(email__exact = email)
#Reset password email
current_site = get_current_site(request)
mail_subject = 'Reset your password'
message = render_to_string('accounts/reset_password_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, 'Password reset email has been sent to your email address.')
return redirect('login')
else:
messages.error(request,'Account does not exist!')
return redirect('forgotPassword')
return render(request, 'accounts/forgotPassword.html')
def resetpassword_validate(request):
return HttpResponse('ok')
The issue you're facing is because the form is not receiving the password from the frontend. I think there might be a typo in the HTML code for the password field, which is why it's not being retrieved correctly. Please make sure the name
attribute for the password input is set correctly in your form. I hope this fixes the issue. If you face any other problems, feel free to ask.
when i try to pay amount it is showing like this when i click paynow it showing it is link a debit or criedit card
it is now showing sandbox account what should do pls tell me bro..