Lencong Selepas POST (Corak PRG)
Elakkan penghantaran pendua dengan lencongan.
Lencong Selepas POST (Corak PRG) ialah pelajaran Flask Academy percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Flask Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Flask Academy merangkumi sejumlah 4 pelajaran.
Masalah Penghantaran Berganda
Selepas penghantaran borang, menekan muat semula akan menghantar semula data yang sama. Ini boleh mencipta pesanan, komen atau pendaftaran pendua. 😬
Mengapa Muat Semula Berulang
Pelayar mengingati permintaan terakhir. Memuat semula halaman yang merupakan hasil daripada POST hanya menghantar POST itu sekali lagi.
Kenali Post Redirect Get
Penyelesaiannya ialah corak PRG: terima POST, kemudian halakan semula pelayar ke halaman GET biasa dan bukannya memaparkannya secara terus.
Proseskan POST
Mula-mula lakukan kerja sebenar dalam cabang POST: simpan rekod, caj kad, atau apa sahaja tujuan borang itu digunakan.
if request.method == "POST":
save_comment(request.form["text"])Halakan Semula, Jangan Paparkan
Daripada mengembalikan templat, kembalikan halakan semula. Pelayar kemudian membuat GET baharu yang selamat untuk dimuat semula.
from flask import redirect
return redirect("/thanks")Bina Sasaran dengan url_for
Elakkan laluan yang dikodkan terus. Gunakan url_for supaya sasaran hala semula mengikut nama laluan anda walaupun URL berubah kemudian.
return redirect(url_for("thanks"))Status 302
Hala semula menghantar respons 302 yang memberitahu pelayar supaya mengambil URL lain. Permintaan kedua itu ialah GET yang selamat.
Pengendali GET
Laluan sasaran ialah paparan GET biasa. Ia hanya memaparkan halaman pengesahan dan boleh dimuat semula sepanjang hari tanpa kesan sampingan.
@app.route("/thanks")
def thanks():
return render_template("thanks.html")Bawa Mesej Flash
Mahu menyatakan bahawa operasi berjaya? Tetapkan mesej flash sekali guna sebelum membuat hala semula dan paparkannya pada halaman destinasi.
from flask import flash
flash("Saved!")
return redirect(url_for("thanks"))Halakan Semula untuk Ralat Juga
Jika pengesahan gagal, anda boleh memaparkan masalah melalui flash dan menghala semula kembali ke borang, supaya setiap laluan selamat apabila dimuat semula.
if errors:
flash("Fix the form")
return redirect(url_for("signup"))Paparan PRG Lengkap
Proseskan, kemudian halakan semula. Bentuk PRG ini ialah amalan standard untuk mana-mana borang yang mengubah data pada pelayan.
@app.route("/comment", methods=["POST"])
def comment():
save_comment(request.form["text"])
return redirect(url_for("thanks"))Semakan Pantas
Mengapakah PRG menghentikan pendua yang tidak disengajakan?
Imbas Kembali: Corak PRG
Anda memproses POST, menghala semula ke GET dengan url_for, menggunakan flash untuk mesej, dan menjadikan setiap muat semula selamat. 🎉
Pelajari Python dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Soalan Lazim
Adakah pelajaran “Lencong Selepas POST (Corak PRG)” percuma?
Ya — teks penuh “Lencong Selepas POST (Corak PRG)” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Flask Academy, tingkat taraf kepada CoddyKit PRO. Kursus Flask Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Lencong Selepas POST (Corak PRG)”?
Elakkan penghantaran pendua dengan lencongan. Anda berlatih Flask Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Flask Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Flask Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.
Berapa lamakah pelajaran “Lencong Selepas POST (Corak PRG)” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Flask Academy ini?
Ya. Setiap pelajaran Flask Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Bina Borang HTML yang Menghantar Data
- Baca dan Tetapkan Lalai Parameter Pertanyaan
- Sahkan Medan Wajib Secara Manual
- Lencong Selepas POST (Corak PRG)