Lahendatud: kuidas luua sisselogimislehte

Tรคnapรคeva digimaailmas on turvalise ja kasutajasรตbraliku sisselogimislehe olemasolu iga veebisaidi vรตi rakenduse jaoks hรคdavajalik. Hรคsti lรคbimรตeldud sisselogimissรผsteem ei taga mitte ainult kasutajaandmete privaatsust, vaid parandab ka kasutajakogemust. Selles artiklis nรคitame, kuidas luua Pythoni abil lihtsat sisselogimislehte, mis hรตlmab erinevaid aspekte, nagu nรตutavad teegid, autentimine ja samm-sammult juurutamine. See รตpetus vรตib olla lรคhtepunktiks nii algajatele kui ka vรคrskenduseks kogenud arendajatele.

Vajalikud raamatukogud ja tรถรถriistad

Pythonis sisselogimislehe loomiseks vajame mรตnda olulist teeki ja tรถรถriista. Arutame neid รผksikasjalikult:

  • Kolb: Flask on Pythoni jaoks mรตeldud kerge veebiraamistik, mis vรตimaldab teil kiiresti veebirakendusi luua ja juurutada. See on pรตhiteek, mida kasutame oma sisselogimislehe kujundamiseks.
  • Werkzeug: Werkzeug on pรตhjalik WSGI (Web Server Gateway Interface) tรถรถriistakomplekt, mida saab kasutada koos Flaskiga, et tรคita selliseid รผlesandeid nagu kasutaja autentimine ja paroolide rรคsimine.
  • Jinja2: Jinja2 on Pythoni mallimootor, mis vรตimaldab luua Pythoni sarnaste vรคljenditega HTML-malle. Kasutame seda oma sisselogimislehe esiliidese kujundamiseks.

Eeldame, et teil on installitud Python ja koodiredaktor. Kui teil pole Flask, Werkzeug ja Jinja2 installitud, kรคivitage jรคrgmine kรคsk:

pip install flask werkzeug jinja2

Kui olete vajalikud teegid installinud, saame jรคtkata sisselogimislehe juurutamist.

Pรตhilise sisselogimislehe loomine

Alustame Flaski seadistamisega, et hallata meie sisselogimislehe marsruute. Loome lihtsa rakenduse, millel on kaks teed: avaleht ja sisselogimisleht. Avalehel kuvatakse tervitussรตnum, samas kui sisselogimisleht tegeleb kasutaja autentimisega.

Siin on samm-sammuline juhend marsruutide loomiseks:

1. Importige vajalikud moodulid:

from flask import Flask, render_template, redirect, url_for, request
from werkzeug.security import check_password_hash, generate_password_hash

2. Instantseerige rakendus Flask:

app = Flask(__name__)

3. Mรครคratlege avalehe marsruut:

@app.route("/")
def home():
    return "<h1>Welcome to our website!</h1>"

4. Mรครคrake sisselogimismarsruut:

@app.route("/login", methods=["GET", "POST"])
def login():
    if request.method == "POST":
        username = request.form["username"]
        password = request.form["password"]

        # Perform authentication here

    return render_template("login.html")

5. Kรคivitage rakendus Flask:

if __name__ == "__main__":
    app.run(debug=True)

รœlaltoodud koodis oleme mรครคratlenud kaks marsruuti: avaleht (โ€œ/โ€) ja sisselogimisleht (โ€œ/loginโ€). Sisselogimismarsruut kuulab nii GET- kui ka POST-pรคringuid โ€“ GET-pรคringud renderdavad sisselogimislehe ja POST-pรคringud kรคitlevad kasutaja autentimist.

Kasutaja autentimine ja parooli rรคsimine

Selle nรคite puhul oletame, et meil on kasutaja, kellel on jรคrgmised mandaadid:

  • Kasutajanimi: user1
  • Salasรตna: minu_parool

Kasutaja parooli turvaliseks salvestamiseks kasutame gener_password_hash funktsioon Werkzeugilt. See loob paroolirรคsi, mida kasutatakse autentimise ajal kasutaja mandaatide kontrollimiseks.

Parooli rรคsi genereerimiseks "my_password" jaoks toimige jรคrgmiselt.

password_hash = generate_password_hash("my_password")

Nรผรผd vรคrskendame oma sisselogimismarsruuti kasutaja autentimiseks:

@app.route("/login", methods=["GET", "POST"])
def login():
    if request.method == "POST":
        username = request.form["username"]
        password = request.form["password"]

        if username == "user1" and check_password_hash(password_hash, password):
            return redirect(url_for("home"))
        else:
            return "<h2>Invalid username or password!</h2>"

    return render_template("login.html")

รœlaltoodud koodi oleme lisanud autentimise kontrolli, et kontrollida kasutaja mandaadi. Kui kasutajanimi รผhtib โ€œkasutaja1โ€ ja parool meie paroolirรคsi, suunatakse kasutaja avalehele; vastasel juhul kuvatakse veateade.

Praegu on meil Pythoni abil loodud funktsionaalne, kuid lihtne sisselogimisleht. Saate seda nรคidet veelgi kohandada, lisades rohkem funktsioone, nagu kasutaja registreerimine, parooli lรคhtestamine ja seansihaldus, et luua terviklikum ja turvalisem sisselogimissรผsteem.

Seonduvad postitused:

Jรคta kommentaar