POST Sonrası Yönlendirme (PRG Kalıbı)
Yönlendirmeyle yinelenen gönderimleri önleyin.
POST Sonrası Yönlendirme (PRG Kalıbı), CoddyKit'te ücretsiz bir Flask Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Flask Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Flask Academy kursu toplamda 4 dersten oluşur.
Çift Gönderim Sorunu
Form gönderildikten sonra yenilemeye basmak aynı verileri yeniden gönderir. Bu durum yinelenen siparişler, yorumlar veya kayıtlar oluşturabilir. 😬
Yenileme Neden Tekrarlar
Tarayıcı son isteği hatırlar. Bir POST isteğinin sonucu olan sayfayı yeniden yüklemek, aynı POST isteğini yeniden gönderir.
Post Redirect Get ile Tanışın
Çözüm PRG şablonudur: POST isteğini kabul edin, ardından doğrudan oluşturmak yerine tarayıcıyı düz bir GET sayfasına yönlendirin.
POST İşlemini Gerçekleştirin
Önce gerçek işi POST dalının içinde yapın: kaydı kaydedin, karttan ücret alın veya formun amacı her neyse onu gerçekleştirin.
if request.method == "POST":
save_comment(request.form["text"])Yönlendirin, Oluşturmayın
Bir şablon döndürmek yerine bir yönlendirme döndürün. Tarayıcı daha sonra yenileme açısından güvenli olan yeni bir GET isteği yapar.
from flask import redirect
return redirect("/thanks")Hedefi url_for ile Oluşturun
Yolları sabit olarak kodlamaktan kaçının. Yönlendirme hedefinin, URL'ler daha sonra değişse bile yol adlarınızı izlemesi için url_for kullanın.
return redirect(url_for("thanks"))302 Durumu
Bir yönlendirme, tarayıcıya başka bir URL'yi almasını söyleyen 302 yanıtı gönderir. Bu ikinci istek güvenli GET isteğidir.
GET İşleyicisi
Hedef yol sıradan bir GET görünümüdür. Yalnızca bir onay sayfasını gösterir ve yan etki oluşturmadan gün boyunca yenilenebilir.
@app.route("/thanks")
def thanks():
return render_template("thanks.html")Bir Flash İletisi Taşıyın
İşlemin başarılı olduğunu söylemek ister misiniz? Yönlendirmeden önce tek kullanımlık bir flash iletisi ayarlayın ve hedef sayfada gösterin.
from flask import flash
flash("Saved!")
return redirect(url_for("thanks"))Hatalarda da Yönlendirin
Doğrulama başarısız olursa sorunu flash ile bildirebilir ve her yolu yenileme açısından güvenli tutarak forma geri yönlendirebilirsiniz.
if errors:
flash("Fix the form")
return redirect(url_for("signup"))Eksiksiz PRG Görünümü
İşleyin, ardından yönlendirin. Bu PRG yapısı, sunucudaki verileri değiştiren her form için standarttır.
@app.route("/comment", methods=["POST"])
def comment():
save_comment(request.form["text"])
return redirect(url_for("thanks"))Hızlı Kontrol
PRG, kazara oluşan bu yinelenen kayıtları neden durdurur?
Özet: PRG Şablonu
POST isteğini işlediniz, url_for ile bir GET isteğine yönlendirdiniz, iletiler için flash kullandınız ve her yenilemeyi güvenli hâle getirdiniz. 🎉
Sıkça Sorulan Sorular
“POST Sonrası Yönlendirme (PRG Kalıbı)” dersi ücretsiz mi?
Evet — “POST Sonrası Yönlendirme (PRG Kalıbı)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Flask Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Flask Academy kursu toplamda 4 dersten oluşur.
“POST Sonrası Yönlendirme (PRG Kalıbı)” dersinde ne öğreneceğim?
Yönlendirmeyle yinelenen gönderimleri önleyin. Flask Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Flask Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Flask Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“POST Sonrası Yönlendirme (PRG Kalıbı)” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Flask Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Flask Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- POST Eden HTML Formu Oluşturma
- Sorgu Parametrelerini Okuma ve Varsayılan Atama
- Gerekli Alanları Elle Doğrulama
- POST Sonrası Yönlendirme (PRG Kalıbı)