I am trying to create role based login system but it continuously showing the mentioned error N.B: I’m new to django
def login_view(request): form = AuthenticationForm() if request.method=='POST': username = request.POST.get('username') password = request.POST.get('password') user = authenticate(username=username, password=password) if user is not None and user.is_student==True: login(request,user) if request.GET.get('next'): return render(request.GET.get('next')) else: return redirect(homepage)
Advertisement
Answer
Every view in django should return an instance of HttpResponse
object, therefore you need to cover all edge cases, e.g.:
def login_view(request): form = AuthenticationForm() if request.method=='POST': username = request.POST.get('username') password = request.POST.get('password') user = authenticate(username=username, password=password) if user is not None and user.is_student==True: ... # Return 401 if the user is None or the user is not a student return HttpResponse('Unauthorized', status=401) # Default HttpResponse on `GET` requests return render(request, '<your_template.html>', {'form': form})