Flask - HTTP yöntemleri
Http protokolü, dünya çapında ağda veri iletişiminin temelidir. Bu protokolde belirtilen URL'den farklı veri alma yöntemleri tanımlanmıştır.
Aşağıdaki tablo farklı http yöntemlerini özetlemektedir -
Sr.No. | Yöntemler ve Açıklama |
---|---|
1 |
GET Verileri şifrelenmemiş biçimde sunucuya gönderir. En yaygın yöntem. |
2 |
HEAD GET ile aynı, ancak yanıt gövdesi yok |
3 |
POST HTML form verilerini sunucuya göndermek için kullanılır. POST yöntemi ile alınan veriler sunucu tarafından önbelleğe alınmaz. |
4 |
PUT Hedef kaynağın tüm mevcut temsillerini yüklenen içerikle değiştirir. |
5 |
DELETE Bir URL tarafından verilen hedef kaynağın tüm mevcut temsillerini kaldırır |
Varsayılan olarak, Flask rotası, GETistekleri. Bununla birlikte, bu tercih, yöntem argümanı sağlanarak değiştirilebilir.route() dekoratör.
Kullanımını göstermek için POST yöntemi URL yönlendirmede, önce bir HTML formu oluşturalım ve POST form verilerini bir URL'ye gönderme yöntemi.
Aşağıdaki komut dosyasını login.html olarak kaydedin
<html>
<body>
<form action = "http://localhost:5000/login" method = "post">
<p>Enter Name:</p>
<p><input type = "text" name = "nm" /></p>
<p><input type = "submit" value = "submit" /></p>
</form>
</body>
</html>
Şimdi Python kabuğuna aşağıdaki betiği girin.
from flask import Flask, redirect, url_for, request
app = Flask(__name__)
@app.route('/success/<name>')
def success(name):
return 'welcome %s' % name
@app.route('/login',methods = ['POST', 'GET'])
def login():
if request.method == 'POST':
user = request.form['nm']
return redirect(url_for('success',name = user))
else:
user = request.args.get('nm')
return redirect(url_for('success',name = user))
if __name__ == '__main__':
app.run(debug = True)
Geliştirme sunucusu çalışmaya başladıktan sonra login.html tarayıcıda metin alanına adı girin ve tıklayın Submit.
Form verileri, form etiketinin eylem maddesinde URL'ye gönderilir.
http://localhost/login ile eşleştirildi login()işlevi. Sunucu verileri aldığı içinPOST yöntem, form verilerinden elde edilen 'nm' parametresinin değeri ile elde edilir -
user = request.form['nm']
Geçilir ‘/success’Değişken parça olarak URL. Tarayıcı birwelcome pencerede mesaj.
Yöntem parametresini şu şekilde değiştirin: ‘GET’ içinde login.htmlve tarayıcıda tekrar açın. Sunucuda alınan veriler,GETyöntem. 'Nm' parametresinin değeri artık -
User = request.args.get(‘nm’)
Buraya, argsform parametresi çiftlerinin bir listesini ve karşılık gelen değerini içeren sözlük nesnesidir. "Nm" parametresine karşılık gelen değer, daha önce olduğu gibi "/ success" URL'sine aktarılır.