Flask Academy · Oppitunti

Päivitä olemassa olevat tietueet turvallisesti

Muuta kenttiä ja vie muutokset oikein flushilla.

Oppitunti 3/413 vaihetta

Päivitä olemassa olevat tietueet turvallisesti 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.

CRUD:n U

Päivittäminen tarkoittaa olemassa olevan rivin muuttamista, ei uuden luomista. Ensin on tärkeää ladata tietue ja muokata sitä vasta sitten. ✏️

Etsi ennen muuttamista

Hae kohderivi aina tunnisteen perusteella ennen sen käsittelyä. get_or_404() lataa rivin tai keskeyttää suorituksen selkeään 404-virheeseen.

user = User.query.get_or_404(user_id)

Muokkaa kuin Python-objektia

Kun objekti on ladattu, määritä sen attribuutit uudelleen. SQLAlchemy huomaa muutoksen ja merkitsee objektin puolestasi muuttuneeksi.

user.name = "New Name"

Lue uudet arvot

Päivitykset sisältävät yleensä uudet tiedot pyynnön rungossa. Jäsennä ne get_json()-funktiolla ennen muutosten tekemistä.

data = request.get_json()

Käsittele kentät huolellisesti

Ylikirjoita vain kentät, jotka asiakas todella lähetti. get()-funktion käyttäminen oletusarvon kanssa estää arvojen tahattoman muuttamisen None-arvoiksi.

user.name = data.get("name", user.name)

Vahvista muutos

Olemassa olevalle riville ei tarvita add()-kutsua. Yksi commit()-kutsu vie muokkauksesi tietokantaan.

db.session.commit()

PUT korvaa, PATCH hienosäätää

Käytä PUT-menetelmää, kun asiakas lähettää koko objektin, ja PATCH-menetelmää, kun se lähettää vain muutettavat kentät.

@app.route("/users/<int:id>", methods=["PATCH"])

Tarkista ennen tallentamista

Tarkista saapuvat arvot ennen commitin suorittamista. Hylkää virheelliset tiedot palauttamalla 400, jotta viallista tietuetta ei koskaan tallenneta.

if not data.get("name"):
    return jsonify(error="name required"), 400

Peruuta virheen sattuessa

Jos commit aiheuttaa virheen, kutsu rollback()-funktiota osittain sovelletun muokkauksen hylkäämiseksi ja rivin palauttamiseksi täsmälleen ennalleen.

except Exception:
    db.session.rollback()

Palauta päivitetty rivi

Hyvä päivitysvastaus palauttaa tuoreen tietueen tilakoodilla 200, jotta asiakas näkee tallennetun tuloksen.

return jsonify({"id": user.id, "name": user.name}), 200

Lataa, muokkaa, vahvista

Koko päivitysprosessi koostuu kolmesta vaiheesta: lataa rivi, muuta sen attribuutteja ja suorita sitten commit. Uutta objektia ei luoda.

Pikakertaus

Muutit ladatun objektin attribuuttia. Mitä on tapahduttava, jotta muutos säilyy?

Kertaus: Tietueiden päivittäminen

Lataat tietueen get_or_404-funktiolla, käsittelet vain lähetetyt kentät, validoit tiedot ja suoritat sitten commitin sekä peruutat muutokset virheissä. Turvalliset päivitykset ovat nyt käytössä! 🎉

Aloita maksutta

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 ”Päivitä olemassa olevat tietueet turvallisesti” ilmainen?

Kyllä – oppitunnin ”Päivitä olemassa olevat tietueet turvallisesti” 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 ”Päivitä olemassa olevat tietueet turvallisesti”?

Muuta kenttiä ja vie muutokset oikein flushilla. 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 ”Päivitä olemassa olevat tietueet turvallisesti”-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

  1. Luo tietueita ja commitoi sessiot
  2. Yhden ja usean tietueen endpointit
  3. Päivitä olemassa olevat tietueet turvallisesti
  4. Poista tietueita ja käsittele puuttuvat rivit
← Takaisin: Flask Academy