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 <[email protected]> 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, <[email protected]>
> wrote:
>
>> Hi,
>>
>> Thank you very much now issues have been resolved.
>>
>>
>>
>> On Mon, Aug 5, 2019 at 6:14 PM Sipum Mishra <[email protected]> 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 <[email protected]>
>>> 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 [email protected].
>>>> 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 [email protected].
>>> 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 [email protected].
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.