def login(): if request.method == 'POST': user, authenticated = User.authenticate(db.session.query, request.form['email'], request.form['password']) if authenticated: session['user_id'] = user.id return redirect(url_for('user.mypage', user_id=user.id)) return render_template('login.html')
def login_request(request): if request.method == 'POST': form = UserForm(data=request.POST) if form.is_valid(): email = form.cleaned_data.get('email') password = form.cleaned_data.get('password') try: userbyemail = User.objects.get(email=email) user = User.authenticate(userbyemail, password=password) if user is not None: login(request, user) messages.info(request, f"You are now logged in as {email}") return redirect(user.get_absolute_url) else: messages.error(request, "Invalid username or password.") except: messages.error(request, "Invalid username or password.") else: messages.error(request, "Invalid username or password.") form = UserForm() return render(request=request, template_name="login.html", context={"form": form})