login_user, logout_user ja sessiot
Kirjaa käyttäjät sisään ja ulos sessiosta.
login_user, logout_user ja sessiot on ilmainen Flask Academy-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Flask Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Flask Academy-kurssilla on yhteensä 4 oppituntia.
Käyttäjän kirjautuminen
Kun salasana on tarkistettu, ilmoitat Flask-Loginille käyttäjän kirjautuneen kutsumalla login_user-funktiota. Tämä yksi kutsu määrittää session puolestasi.
from flask_login import login_user
login_user(user)Tyypillinen kirjautumisreitti
Kirjautumisnäkymässä etsit käyttäjän, tarkistat salasanan ja kutsut sitten login_user-funktiota. Sen jälkeen ohjaat käyttäjän oikealle sivulle, kuten hallintapaneeliin.
if user and user.check_password(pw):
login_user(user)
return redirect(url_for("dashboard"))Mitä login_user tallentaa
login_user ei tallenna koko oliota. Se kirjoittaa käyttäjän id-tunnisteen sessioevästeeseen, ja user_loader muodostaa käyttäjän myöhemmin uudelleen.
Muista minut
Välitä remember=True, jos haluat käyttäjän pysyvän kirjautuneena selaimen sulkemisen jälkeen. Flask-Login asettaa tällöin pitkäkestoisen evästeen sessiokohtaisen evästeen sijaan.
login_user(user, remember=True)current_userin käyttäminen
Voit lukea current_user-arvon missä tahansa näkymässä saadaksesi kirjautuneen käyttäjän. Se on välityspalvelin, joka viittaa aina aktiivisen pyynnön käyttäjään.
from flask_login import current_user
name = current_user.usernameAnonyymit käyttäjät
Jos kukaan ei ole kirjautunut, current_user on anonymous-käyttäjäolio. Sen is_authenticated-arvo on False, joten voit tehdä sen perusteella turvallisesti haarautumisen.
if current_user.is_authenticated:
show_dashboard()Uloskirjautuminen
Kirjaa käyttäjä ulos kutsumalla logout_user-funktiota. Se poistaa käyttäjän tunnisteen sessiosta, joten seuraava pyyntö käsittelee käyttäjän jälleen anonyymina.
from flask_login import logout_user
logout_user()Uloskirjautumisreitti
Uloskirjautumisnäkymä on pieni: kutsu logout_user-funktiota ja ohjaa sitten käyttäjä etusivulle. Salasanaa ei tarvitse tarkistaa, vaan ainoastaan sessio tyhjennetään.
@app.route("/logout")
def logout():
logout_user()
return redirect(url_for("index"))Salainen avain vaaditaan
Session tiedot kulkevat allekirjoitetussa evästeessä, joten sovellus tarvitsee SECRET_KEY-avaimen. Ilman sitä login_user aiheuttaa virheen eikä mikään toimi.
app.config["SECRET_KEY"] = "a-long-random-value"Sessio on käyttäjäkohtainen
Jokainen selain saa oman allekirjoitetun cookie-evästeensä, joten kaksi käyttäjää eivät koskaan näe toistensa sessioita. Flask-Login pitää ne siististi erillään.
Tervehdi käyttäjää
Voit käyttää current_user-arvoa myös mallineissa, koska Flask-Login lisää sen niiden käyttöön. Näin henkilökohtaisen navigointipalkin tekeminen onnistuu yhdellä rivillä.
<p>Hello, {{ current_user.username }}</p>Pikatarkistus
Käyttäjä napsauttaa Log out -painiketta. Mikä kutsu päättää hänen sessionsa?
Kertaus
Nyt kutsut login_user-funktiota salasanan tarkistamisen jälkeen, luet current_user-arvon mistä tahansa ja päätät session kutsumalla logout_user-funktiota. SECRET_KEY sitoo kaiken yhteen. 🔑
Opi Python tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 30
- Oppitunnit
- 120
Usein kysytyt kysymykset
Onko oppitunti ”login_user, logout_user ja sessiot” ilmainen?
Kyllä – oppitunnin ”login_user, logout_user ja sessiot” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Flask Academy-kurssin, päivitä CoddyKit PROhon. Flask Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”login_user, logout_user ja sessiot”?
Kirjaa käyttäjät sisään ja ulos sessiosta. Harjoittelet Flask Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Flask Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Flask Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.
Kuinka kauan ”login_user, logout_user ja sessiot”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Flask Academy-oppitunnilla?
Kyllä. Jokainen Flask Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Tiivistä salasanat, älä tallenna selväkielisinä
- User Loader ja UserMixin
- login_user, logout_user ja sessiot
- Suojaa view't login_requiredilla