Simple log in page with Panel

Hi all, I’m new to Panel and I’m trying to set up a simple log in page as a test for my multi page app. First I did a similar code to the one below and it worked, however when I changed it to a more OOP approach the on_click method stopped working. How can I fix it?

`import panel as pn
from components.inputs import TextInput, PasswordInput
from components.buttons import Button

class LoginPage:
def init(self):
self.username_input = TextInput(name=“Usuário”, placeholder=“Insira seu usuário”).view()
self.password_input = PasswordInput(name=“Senha”, placeholder=“Insira sua senha”).view()
self.login_button = Button(name=“Login”).view()
self.login_area = pn.Column(
“# Tela de Login”,
self.username_input,
self.password_input,
self.login_button
)
self.login_button.on_click(self.authenticate)

def authenticate(self):
    print("Entrei aqui")
    if self.username_input.value == "admin" and self.password_input.value == "admin":
        pn.state.location.pathname = pn.state.location.pathname.split("/")[0] + '/PaginaInicial'
        pn.state.location.reload = True
    else:
        self.login_area.append(pn.pane.Markdown("**Usuário ou senha incorretos!**"))

def view(self):
    return self.login_area

`

Solved

1 Like