Questo articolo è stato pubblicato nell'ambito del Blogathon sulla scienza dei dati.
introduzione
ut, y saben que este método es un método de inicio de sessioneIl "Sessione" È un concetto chiave nel campo della psicologia e della terapia. Si riferisce a un incontro programmato tra un terapeuta e un cliente, dove si esplorano i pensieri, Emozioni e comportamenti. Queste sessioni possono variare in durata e frequenza, e il suo scopo principale è quello di facilitare la crescita personale e la risoluzione dei problemi. L'efficacia delle sessioni dipende dalla relazione tra il terapeuta e il terapeuta.. emergente. Ma, E se volessi una pagina di accesso come quella che abbiamo in HTML?, JavaScript, PHP, eccetera.? Ecco la risposta alla tua domanda.
Quindi, Ho creato un'app dashboard per l'autenticazione utente utilizzando dash-auth. Volevo fare le operazioni di prova per lo stesso. Ma dato che era una finestra pop-up, non sono riuscito a ottenere l'id, i nomi delle classi o qualsiasi informazione correlata che potrebbe essere utilizzata per testare il modulo di accesso.
Cosa c'è di più, Ho provato ad applicare alcuni metodi che sono stati dati in un articolo, ma ancora niente. Anche dopo aver cercato su Internet per ore, non c'era una risposta significativa alla mia domanda. È stato allora che ho capito che dovevo trovare un modo per aggirare questo problema.. Sapevi di dcc.Link () e ho pensato di usarlo per creare la pagina di accesso.
Questo blog contiene la soluzione su come creare una vera pagina di login che sia come una pagina HTML e dove puoi saltare da una pagina all'altra usando i link.
Importazione di librerie:
Il primo è il primo, importando le librerie necessarie. Tutti dovrebbero conoscerli.
importa il trattino importa dash_core_components come dcc importa dash_html_components come html da dash.dependencies import Output,Ingresso,Stato
Inizializza l'applicazione Dash:
Il prossimo passo è inizializzare l'applicazione. trattino.trattino () invoca l'istanza dell'applicazione.
app = trattino.Dash(__nome__, external_stylesheets=external_stylesheets,sopprimere_callback_exceptions=Vero)
Devi assicurarti che sopprimere_callback_eccezioni è stabilito in certo così puoi sfogliare diverse pagine. Se non lo imposti a vero, sorgeranno sicuramente errori relativi alla chiamata.
Design:
Iniziamo con il design.
app.layout = html.Div([ dcc.Posizione(id='url', refresh=falso), html.Div(id='contenuto della pagina') ])
Dcc.Location decide la pagina corrente da visualizzare. Rappresenta la barra degli indirizzi nel browser. Il div sotto mostra il contenuto dell'URL specificato. Il nome del percorso selezionato verrà passato come parametro a questo componente di posizione e, Di conseguenza, verrà visualizzato il contenuto della pagina. Lo vedrai in una spiegazione più dettagliata. La restrizione di aggiornamento serve solo per aggiornare la pagina quando la posizione viene aggiornata o meno.
Pagina di login (página de indiceIl "Indice" È uno strumento fondamentale nei libri e nei documenti, che consente di individuare rapidamente le informazioni desiderate. In genere, Viene presentato all'inizio di un'opera e organizza i contenuti in modo gerarchico, compresi capitoli e sezioni. La sua corretta preparazione facilita la navigazione e migliora la comprensione del materiale, rendendolo una risorsa essenziale sia per gli studenti che per i professionisti in vari settori....):
Creiamo ora la pagina indice che conterrà le caselle di input per Username e Password e il pulsante di spunta per autenticare l'utente. Questa sarà la prima pagina ad apparire.
index_page = html.Div([ html.Div( dcc.Input(id="utente", tipo="testo", segnaposto="Inserire username",nomeclasse="casella di input1", stile={'margine sinistro':'35%','larghezza':'450px','altezza':'45px','imbottitura':'10 pixel','margine superiore':'60px', 'dimensione del font':'16px','larghezza del bordo':'3 pixel','colore del bordo':'#a0a3a2' }), ), html.Div( dcc.Input(id="passw", tipo="testo", segnaposto="Inserire la password",nomeclasse="inputbox2", stile={'margine sinistro':'35%','larghezza':'450px','altezza':'45px','imbottitura':'10 pixel','margine superiore':'10 pixel', 'dimensione del font':'16px','larghezza del bordo':'3 pixel','colore del bordo':'#a0a3a2', }), ), html.Div( html.Button('Verificare', id='verifica', n_clic=0, stile={'larghezza del bordo':'3 pixel','dimensione del font':'14px'}), stile={'margine sinistro':'45%','imbottitura-top':'30px'}), html.Div(id='output1') ]) @app.callback( dash.dipendenze.Output('uscita1', 'figli'), [dash.dipendenze.Input('verificare', 'n_click')], stato=[Stato('utente', 'valore'), Stato('passw', 'valore')]) def update_output(n_click, il tuo nome, passw): li={'shraddha':'amministratore123'} if uname =='' or uname == Nessuno o passw =='' o passw == Nessuno: restituire html. Div(bambini='',stile={'imbottitura-sinistra':'550px','imbottitura-top':'10 pixel'}) se uname non in li: restituire html. Div(children='Nome utente errato',stile={'imbottitura-sinistra':'550px','imbottitura-top':'40px','dimensione del font':'16px'}) se li[il tuo nome]==passw: restituire html. Div(dcc.Link('Accesso garantito!', href="https://www.analyticsvidhya.com/next_page",stile={'colore':'#183d22','famiglia di font': 'serif', 'carattere-peso': 'grassetto', "decorazione-testo": "nessuno",'dimensione del font':'20px'}),stile={'imbottitura-sinistra':'605px','imbottitura-top':'40px'}) altro: restituire html. Div(children='Password errata',stile={'imbottitura-sinistra':'550px','imbottitura-top':'40px','dimensione del font':'16px'})
Il codice sopra crea 2 caselle di input, il primo è per il nome utente e il secondo è per la password. A differenza di un normale pulsante che consente una singola casella di input, deve definire lo "Stato"’ all'interno di un elenco come scritto sopra per prendere l'input da più caselle di input e quindi aggiornare l'output facendo clic sul pulsante (controlla in questo caso) .
En update_output, prima definiamo un dizionario 'li’ contenente tutti i nomi utente validi e le password corrispondenti. La prima condizione "sì"’ è solo che all'inizio non viene mostrato nulla.
Quindi controlliamo se il nome utente non è valido / valido, se il nome utente è presente in 'li', allora è considerato valido, quindi controlliamo se la password è valida per il nome utente specificato, e se entrambi sono corretti, boom! Ottieni un link che dice "Accesso concesso"’ e cliccando sul link si può saltare alla pagina richiesta.
Su dcc.Link, il primo parametro è il testo che verrà visualizzato come collegamento e href è il "nome del percorso"’ che abbiamo impostato per una pagina particolare. Vedremo tra poco come vengono definiti questi collegamenti e come vengono assegnati i nomi delle rotte.. Il resto della parte è solo la formattazione per farlo sembrare carino.
La pagina reale:
Questa è l'app principale della dashboard. Il codice seguente è solo un codice di script di base a scopo esplicativo.
Codice:
next_page = html.Div([
html.Div(dcc.Link('Disconnettersi', href="https://www.analyticsvidhya.com/",stile={'colore':'#letto4c4','famiglia di font': 'serif', 'carattere-peso': 'grassetto', "decorazione-testo": "nessuno",'dimensione del font':'20px'}),stile={'imbottitura-sinistra':'80%','imbottitura-top':'10 pixel'}),
HTML. H1 ·(bambini="Questa è la pagina successiva, la pagina principale",nomeclasse="ap",stile={
'colore':'#89b394','allineamento del testo':'centro','giustificare':'centro','imbottitura-top':'170px','carattere-peso':'grassetto',
'famiglia di font':'Corriere',
'imbottitura-sinistra':'1px' })
])
Puoi aggiungere altri componenti in base alle tue esigenze. Come potete vedere, Ho fornito un pulsante "Esci"’ in alto a destra di questa pagina che ti riporterà alla pagina di login e logout. Il collegamento è formattato in modo che non assomigli a un tipico collegamento blu con una sottolineatura, cosa lo fa sembrare decente?.
Ho cercato di includere il formato massimo richiesto in modo da non dover cercare queste piccole modifiche.
Definisci i link:
L'ultima e più importante parte, chi si occuperà di tutta la navigazione, è definire le rotte. Ed ecco come farlo.
Codice:
@app.callback(dash.dipendenze.Output('contenuto della pagina', 'figli'),
[dash.dipendenze.Input("URL", 'percorso')])
def display_page(percorso):
if pathname == "https://www.analyticsvidhya.com/next_page":
return next_page
else:
index_page di ritorno
È necessario impostare i nomi dei percorsi per tutti gli URL utilizzati nell'applicazione. Penso che sia autoesplicativo, restituisce la rispettiva sezione per il tuo percorso. Next_page è il componente Html div definito nella sezione precedente.
Ed ovviamente, correre l'applicazione.
if __name__=='__main__': app.run_server()
Quando esegui l'app dashboard, il consiglio sarà il prossimo:
Dopo l'autenticazione riuscita, otterrai il link che dice "Accesso concesso"’ come puoi vedere nella foto qui sotto.
E cliccando questo link, puoi accedere all'app dalla tua dashboard.
Cosa c'è di più, también puede agregar más funcionalidades como guardar el nombre de usuario y la contraseña para cada nuevo usuario agregado y almacenar estos detalles en la Banca datiUn database è un insieme organizzato di informazioni che consente di archiviare, Gestisci e recupera i dati in modo efficiente. Utilizzato in varie applicazioni, Dai sistemi aziendali alle piattaforme online, I database possono essere relazionali o non relazionali. Una progettazione corretta è fondamentale per ottimizzare le prestazioni e garantire l'integrità delle informazioni, facilitando così il processo decisionale informato in diversi contesti..... Utilizzando tecniche di crittografia per memorizzare la password in un database e decrittografarla per la convalida. E così via. Creerò anche un blog in futuro per questo. rimani sintonizzato.
Spero che questo blog spieghi cosa ho cercato di trasmettere e ora puoi anche testare nel modulo di accesso per l'app dashboard. Grazie! Ci vediamo alla prossima!
Autore:
Shraddha Shekhar
Sono uno studente di Ingegneria Informatica e sono curioso di conoscere l'apprendimento automatico e la scienza dei dati. Se ti piace questo, guarda l'altro mio blog.
Il supporto mostrato in questo articolo non è di proprietà di DataPeaker e viene utilizzato a discrezione dell'autore.
Imparentato
Articoli correlati:
- Il tuo account è disabilitato quando accedo a Windows 10, come posso risolverlo?
- Biblioteca BeautifulSoup | Web Scraping con Python: Biblioteca BeautifulSoup
- Biblioteca AutoScraper | Automatizza il web scraping con la libreria AutoScraper
- Come disabilitare il PIN e la richiesta di creare un PIN quando si accede a Windows 10