def main(request): if request.method == 'POST': form = LoginForm(request.POST) if form.is_valid(): form.login(request) return redirect('users.views.home') else: form = LoginForm() return render(request, 'main.hisp', {'form': form})
def guest(request): login_form = LoginForm(data=request.POST or None, prefix="login") register_form = RegistrationForm(data=request.POST or None, prefix="register") if request.POST: import pdb pdb.set_trace() if login_form.is_valid(): user = login_form.login() if user.is_active: login(request, user) return redirect('users:index') else: messages.error(request, 'This account has been deleted.') return redirect('users:guest') elif register_form.is_valid(): user = register_form.save() # FIXME change to validation email later login(request, user) return redirect('users:index') return render(request, "users/guest.html", { "login_form": login_form, "register_form": register_form })
def login_page(request): if request.user.is_authenticated: return redirect("dashboard") # On a POST request, attempt to login form = LoginForm(request.POST if request.POST else None) if request.POST and form.is_valid(): user = form.login(request) if user: login(request, user) redirect_url = request.GET.get("next", "dashboard") return redirect(redirect_url) return render(request, "login.html", context={"form": form})
def login(request): """ Login page. """ if request.user.is_authenticated(): return redirect('index') form = LoginForm(request.POST or None) if form.is_valid(): try: user = form.login(request) except ValidationError as err: form._errors['__all__'] = err.messages else: return redirect('index') return {'form': form}
def index(request): login_form = LoginForm(request.POST or None) if request.POST and login_form.is_valid(): user = login_form.login() if user: login(request, user) return HttpResponseRedirect( request.POST.get('next') or reverse('index') ) return render( request, "users/index.html", { "login_form": login_form, 'next': request.GET.get('next', ''), } )