def login_view(request):
    next = request.GET.get('next')
    form = LoginForm(request.POST or None)
    if form.is_valid():
        email = form.cleaned_data.get('email')
        password = form.cleaned_data.get('password')
        user = authenticate(email=email, password=password)
        login(request, user)
        if next:
            return redirect(next)
        return redirect('/home')
    return render(request, "login.html", {'form': form})
Example #2
0
 def create(self, request):
     form = LoginForm(request.DATA)
     if form.is_valid():
         email = form.cleaned_data["email"]
         password = form.cleaned_data["password"]
         logged_in_user = authenticate(email=email, password=password)
         if logged_in_user:
             try:
                  token, created = Token.objects.get_or_create(
                 user=logged_in_user)
                  if created:
                  	token.save()
                  return Response({'token': token.key, 'success': True}, status=200)
             except Token.DoesNotExist:
                 pass          
         return Response({'token': None, 'success': False, "message": "incorrect email or password"}, status=401)
     else:
         return Response({'token': None, 'success': False, "message": form.errors}, status=400)
Example #3
0
def login_view(request):
    if 'platform' in request.GET and request.GET['platform'] == 'android':
        username = request.GET['username']
        password = request.GET['password']
        user = authenticate(username=username, password=password)
        if user is not None:
            if user.is_active:
                login(request, user)
                return HttpResponse('ok')
            else:
                return HttpResponse('not_active')
        else:
            return HttpResponse('wrong')
    else:
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            user = authenticate(username=login_form.cleaned_data['username'],
                                password=login_form.cleaned_data['password'])

            if user is not None:
                if user.is_active:
                    login(request, user)
                    return HttpResponseRedirect(reverse('api:main_page'))
                else:
                    return HttpResponse(
                        'you cannot login because you are blocked.')
            else:
                return HttpResponse(
                    'username or password is wrong. please check your spelling and try again...'
                )
        else:
            event_list = Post.objects.filter(
                author__is_formal=True,
                is_public=True).order_by('-publish_time')
            return render(request, 'api/index.html', {
                'form': login_form,
                'event_list': event_list
            })