En enkel inloggningssida är lätt att skapa och det är ett bra ställe att börja bygga din webbplats eller app.

Det finns över en miljard webbplatser på internet. För att säkerställa att användarnas konton är säkra kräver många webbapplikationer – från onlinebanker till sociala medier – en inloggningssida.

Lär dig hur du skapar en enkel inloggningssida med Tkinter-modulen och bekanta dig med de grundläggande koncepten för att bygga GUI-appar i Python.

Tkinter-modulen

Du kan använda Tkinter för att bygga en inloggningssida som accepterar och validerar ett användarnamn och lösenord. Tkinter erbjuder en mängd olika widgets som knappar, etiketter och textrutor som gör det enkelt att utveckla appar. Vissa applikationer du kan utveckla med Tkinter inkluderar en Att göra-applikation, Musikspelare, a Pomodoro Timer App, och en Word Jumble-spel.

För att installera Tkinter, öppna en terminal och kör:

pip installera tkinter

Hur man bygger en inloggningssida med Python

Du kan hitta källkoden för att skapa en inloggningssida med Python i denna GitHub-förråd.

instagram viewer

Importera de nödvändiga biblioteken och initiera rotfönstret. Ställ in titeln och storleken på fönstret. Använda configure() funktion, ställ in bakgrundsfärgen.

importera tkinter
från tkinter importera meddelandebox
fönster = tkinter. Tk()
window.title("Inloggningssida med Python")
window.geometry('750x550')
window.configure (bg='#8F00FF')

Definiera en funktion, logga in() som kommer att fatta det viktigaste beslutet baserat på användarens autentiseringsuppgifter. Denna enkla demo hårdkodar de giltiga referenserna; en riktig app skulle förmodligen hämta dem från en databas.

Lagra referenserna och använd skaffa sig() metod för varje Entry-widget för att hämta data som användaren angett. Visa en meddelanderuta med lämplig titel och meddelande enligt datavalideringen.

deflogga in():
användarnamn = "använda"
lösenord = "muo"

om username_entry.get()==användarnamn och password_entry.get()==lösenord:
messagebox.showinfo (title="Inloggningen lyckades!", meddelande="Du har loggat in.")
annan:
messagebox.showerror (title="Fel", meddelande="Ogiltig inloggning.")

Definiera en Tkinter-ram för att fungera som en förälder och ge den en bakgrundsfärg.

ram = tkinter. Ram (bg='#8F00FF')

Definiera tre etiketter för inloggning, användarnamn och lösenord. Passera det överordnade fönstret du vill placera etiketterna i, texten den ska visa, bakgrundsfärgen, teckensnittsfärgen och typsnittsstilen den ska ha.

login_label = tkinter. Etikett (ram, text="Inloggningssida med Python", bg='#000000', fg="#DC143C", typsnitt=("Arial", 30))
användarnamn_etikett = tkinter. Etikett (ram, text="Användarnamn", bg='#8F00FF', fg="#FFFFFF", typsnitt=("Arial", 16, 'djärv'))
lösenordsetikett = tkinter. Etikett (ram, text="Lösenord", bg='#8F00FF', fg="#FFFFFF", typsnitt=("Arial", 16, 'djärv'))

Definiera två inmatningswidgetar för att hämta data från användaren. Ställ in det överordnade fönstret du vill placera det i tillsammans med teckensnittsstilarna. Använd show attribut som en asterisk för att dölja lösenordet som användaren skriver på skärmen.

användarnamn_entry = tkinter. Post (ram, typsnitt=("Arial", 16))
password_entry = tkinter. Entry (ram, visa="*", typsnitt=("Arial", 16))

Definiera en knapp för inloggning som accepterar det överordnade fönstret som den ram du definierade tidigare, texten det ska visas, bakgrundsfärgen, teckensnittsfärgen, teckensnittsstilen och kommandot det ska köra när klickade.

login_button = tkinter. Knapp (ram, text="Logga in", bg="#DC143C", fg="#FFFFFF", typsnitt=("Arial", 16), kommando=logga in)

Använd rutnätshanteraren för att placera de tre etiketterna, två poster och en inloggningsknapp i ett organiserat tabellformat. Inloggningsetiketten kommer att fungera som en rubrik och upptar båda kolumnerna. Det klibbiga alternativet anger vilken kant av cellen som widgeten ska hålla sig till. På att passera det som Nyheter (nord-öst-väst-syd), centrerar programmet texten i både horisontell och vertikal riktning.

Placera etiketterna på vänster sida, den ena under den andra, och följ samma sak för inmatningswidgetarna på höger sida. I likhet med rubriken, placera inloggningsknappen i båda kolumnerna. Ge lämplig utfyllnad i y-riktningen till alla widgets.

login_label.grid (rad=0, kolumn=0, kolumnspan=2, klibbig="Nyheter", pady=40)
username_label.grid (rad=1, kolumn=0)
användarnamn_entry.grid (rad=1, kolumn=1, pady=20)
password_label.grid (rad=2, kolumn=0)
password_entry.grid (rad=2, kolumn=1, pady=20)
login_button.grid (rad=3, kolumn=0, kolumnspan=2, pady=30)

Använd packa() att organisera alla widgets i block och köra Tkinter-händelsslingan och lyssna efter händelser tills du stänger fönstret.

frame.pack()
window.mainloop()

Sätt ihop all kod så är din inloggningssida redo att användas.

Exempel på utdata från appen Inloggningssida

När programmet körs och de giltiga användaruppgifterna skrivs in, visar programmet en meddelanderuta om att användaren kan logga in.

När du kör programmet med någon annan referens, visar meddelanderutan ett felmeddelande om att inloggningen är ogiltig.

Förbättra en Python-inloggningssida

Du kan använda en databas som MySql för att hämta posterna och validera dem mot användaruppgifterna. De mysql.connector biblioteket hjälper dig att upprätta en anslutning mellan din Python Tkinter-applikation och MySql-databasen.

För förbättrat användargränssnitt kan du utforska customtkinter modul. Den är enbart byggd på Tkinter-modulen och hjälper dig att skapa moderna helt anpassningsbara widgets som inte är tillgängliga som en del av standard Tkinter-biblioteket. Genom att kombinera dessa två bibliotek förstärker du dina GUI-programmeringsfärdigheter och sätter som en språngbräda i att skapa mer sofistikerade applikationer.