Hi, Problem was in my code I was using the request.POST['username'] instead of request.POST.get('username')
You have given the solutions and the same I have implemented. Once again thanks to you if any issues let you know. *Actually, I am very new in Django hardly 1 week back started. This is my first project to start for the learning purpose and I try to implement a document management system with the workflow approval process. I need your support and help while developing the application. Once the design part completed will share with you.* def login_view(request): templates = 'welcome.html' username = request.POST.get('username') password = request.POST.get('pass') user = authenticate(request, username=username, password=password) if user is not None: login(request, user) return render(request, templates ,{'user' : user }) else: #return redirect('welcome.html') messages.error(request, 'Login Failed! Invalid username and password.') return render(request, 'login.html',{'user' : user }) On Tue, Aug 6, 2019 at 8:55 PM DPM <sipu...@gmail.com> wrote: > Hey Ajit, > Its Great. > Can you please tell us what was the problem? > > On Tue, 6 Aug, 2019, 1:07 PM Ajeet Kumar Gupt, <ajeetgupt1...@gmail.com> > wrote: > >> Hi, >> >> Thank you very much now issues have been resolved. >> >> >> >> On Mon, Aug 5, 2019 at 6:14 PM Sipum Mishra <sipu...@gmail.com> wrote: >> >>> Hey Ajit, >>> >>> This error comes when You are trying to get username, passwords from the >>> form. >>> It is due to the below reason - >>> >>> In Login, >>> You are using -> request.POST['username'] which will raise a KeyError >>> exception if 'username' is not in request.POST. >>> >>> Instead use -> request.POST.get('username') which will return None if ' >>> username' is not in request.POST. >>> >>> Additionally, .get allows you to provide an additional parameter of a >>> default value which is returned if the key is not in the dictionary. >>> >>> For example, request.POST.get('username', 'mydefaultvalue') >>> >>> Hope this helps. If any concern then let us know. >>> >>> On Mon, 5 Aug 2019 at 15:47, Ajeet Kumar Gupt <ajeetgupt1...@gmail.com> >>> wrote: >>> >>>> Dear Team, >>>> >>>> I am developing custom registration and login page for end-user but >>>> getting the below error. Please find the views.py code also in the trail. >>>> >>>> >>>> *MultiValueDictKeyError at /login/* >>>> >>>> 'username' >>>> >>>> Request Method: GET >>>> Request URL: http://127.0.0.1:8000/login/ >>>> Django Version: 2.2.3 >>>> Exception Type: MultiValueDictKeyError >>>> Exception Value: >>>> >>>> 'username' >>>> >>>> Exception Location: >>>> C:\Python\Python37\lib\site-packages\django\utils\datastructures.py >>>> in __getitem__, line 80 >>>> Python Executable: C:\Python\Python37\python.exe >>>> Python Version: 3.7.3 >>>> >>>> -- >>>> *Views.py* >>>> *____________________________* >>>> >>>> rom django.shortcuts import render >>>> from django.contrib.auth.models import User >>>> from django.http import HttpResponseRedirect >>>> from .forms import RegisterForm >>>> from django.conf import settings >>>> from django.shortcuts import redirect >>>> from django.contrib.auth.decorators import login_required >>>> from django.contrib import messages >>>> from django.contrib.auth import authenticate,login >>>> from django.contrib import auth >>>> from django.core.exceptions import ObjectDoesNotExist >>>> >>>> >>>> def user_register(request): >>>> # if this is a POST request we need to process the form data >>>> template = 'mymodule/register.html' >>>> # template = 'index.html' >>>> if request.method == 'POST': >>>> # create a form instance and populate it with data from the >>>> request: >>>> form = RegisterForm(request.POST) >>>> # check whether it's valid: >>>> if form.is_valid(): >>>> if >>>> User.objects.filter(username=form.cleaned_data['username']).exists(): >>>> return render(request, template, { >>>> 'form': form, >>>> 'error_message': 'Username already exists.' >>>> }) >>>> elif >>>> User.objects.filter(email=form.cleaned_data['email']).exists(): >>>> return render(request, template, { >>>> 'form': form, >>>> 'error_message': 'Email already exists.' >>>> }) >>>> elif form.cleaned_data['password'] != >>>> form.cleaned_data['password_repeat']: >>>> return render(request, template, { >>>> 'form': form, >>>> 'error_message': 'Passwords do not match.' >>>> }) >>>> else: >>>> # Create the user: >>>> user = User.objects.create_user( >>>> form.cleaned_data['username'], >>>> form.cleaned_data['email'], >>>> form.cleaned_data['password'] >>>> ) >>>> user.first_name = form.cleaned_data['first_name'] >>>> user.last_name = form.cleaned_data['last_name'] >>>> user.phone_number = form.cleaned_data['phone_number'] >>>> user.save() >>>> return redirect('index.html') >>>> # Login the user >>>> #login(request, user) >>>> #def user_login(request): >>>> # redirect to accounts page: >>>> #return render(request, '/login.html') >>>> # return HttpResponseRedirect(return, '/login.html') >>>> # No post data availabe, let's just show the page. >>>> else: >>>> form = RegisterForm() >>>> return render(request, template, {'form': form}) >>>> >>>> >>>> >>>> >>>> >>>> def login_view(request): >>>> username = request.POST['username'] >>>> password = request.POST['pass'] >>>> users = authenticate(request, username=username, password=password) >>>> if users is not None: >>>> login(request, users) >>>> return redirect('welcome.html') >>>> else: >>>> return redirect('index.html') >>>> >>>> >>>> >>>> def logout(request): >>>> auth.logout(request) >>>> return render(request, 'login.html') >>>> >>>> >>>> >>>> >>>> *Thanks & Regards* >>>> Ajeet Kumar Gupt >>>> +91-9311232332 >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Django users" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to django-users+unsubscr...@googlegroups.com. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/django-users/CA%2BTqRsvD7P8Mk4RCUUg-5%3DYTE7PjBnHyJA%3DVZowGgGoYQnyNKw%40mail.gmail.com >>>> <https://groups.google.com/d/msgid/django-users/CA%2BTqRsvD7P8Mk4RCUUg-5%3DYTE7PjBnHyJA%3DVZowGgGoYQnyNKw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Django users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to django-users+unsubscr...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/django-users/CAGHZBzzRHrUvP7P1Aa-8qdsaDG65TBXUX54RJ8sxtU1G08c2Fg%40mail.gmail.com >>> <https://groups.google.com/d/msgid/django-users/CAGHZBzzRHrUvP7P1Aa-8qdsaDG65TBXUX54RJ8sxtU1G08c2Fg%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> >> >> -- >> >> >> >> >> >> >> *Thanks & Regards* >> Ajeet Kumar Gupt >> +91-9311232332 >> > -- *Thanks & Regards* Ajeet Kumar Gupt +91-9311232332 -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CA%2BTqRsuPSstqtCYte_z%2B4chPN6mCbTPv6VQVpOaC_%3D%3DpDphgwQ%40mail.gmail.com.