Python - Yönlendirme
Yönlendirme, URL'yi doğrudan web sayfasını oluşturan kodla eşleme mekanizmasıdır. Web sayfasının yapısının daha iyi yönetilmesine yardımcı olur ve sitenin performansını önemli ölçüde artırır ve daha fazla geliştirme veya değişiklik gerçekten basit hale gelir. Python'da yönlendirme web çerçeve çalışmalarının çoğunda uygulanmaktadır. Örnekleri göreceğizflask Bu bölümdeki web çerçevesi.
Flask'ta Yönlendirme
route()Flask'taki dekoratör bir URL'yi bir işleve bağlamak için kullanılır. Sonuç olarak tarayıcıda URL'den bahsedildiğinde, sonuç vermek için işlev çalıştırılır. Burada, URL'/hello' kural bağlıdır hello_world()işlevi. Sonuç olarak, bir kullanıcı ziyaret edersehttp://localhost:5000/ URL, çıktısı hello_world() işlevi tarayıcıda işlenecektir.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello Tutorialspoint'
if __name__ == '__main__':
app.run()
Yukarıdaki programı çalıştırdığımızda aşağıdaki çıktıyı alıyoruz -
* Serving Flask app "flask_route" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [06/Aug/2018 08:48:45] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [06/Aug/2018 08:48:46] "GET /favicon.ico HTTP/1.1" 404 -
127.0.0.1 - - [06/Aug/2018 08:48:46] "GET /favicon.ico HTTP/1.1" 404 -
Tarayıcıyı açıyoruz ve URL'yi gösteriyoruz http://localhost:5000/ çalıştırılan işlevin sonucunu görmek için.
URL Değişkenlerini Kullanma
Anında URL'ler oluşturmak için rotayı kullanarak URL değişkenlerini aktarabiliriz. Bunun için, işlevin adını ilk bağımsız değişken olarak ve geri kalan bağımsız değişkenleri URL kuralının değişken parçası olarak kabul eden url_for () işlevini kullanıyoruz.
Aşağıdaki örnekte, işlev adlarını argüman olarak url_for işlevine iletiyoruz ve bu satırlar çalıştırıldığında sonucu yazdırıyoruz.
from flask import Flask, url_for
app = Flask(__name__)
@app.route('/')
def index(): pass
@app.route('/login')
def login(): pass
@app.route('/user/
') def profile(username): pass with app.test_request_context(): print url_for('index') print url_for('index', _external=True) print url_for('login') print url_for('login', next='/') print url_for('profile', username='Tutorials Point')
Yukarıdaki programı çalıştırdığımızda aşağıdaki çıktıyı alıyoruz -
/
http://localhost/
/login
/login?next=%2F
/user/Tutorials%20Point
Yönlendirmeler
Yönlendirme kullanarak kullanıcıyı başka bir URL'ye yönlendirmek için yönlendirme işlevini kullanabiliriz. Yeni URL'yi, kullanıcıyı yönlendirmesi gereken işlevin bir dönüş değeri olarak belirtiyoruz. Bu, mevcut bir web sayfasını değiştirirken kullanıcıları geçici olarak farklı bir sayfaya yönlendirdiğimizde faydalıdır.
from flask import Flask, abort, redirect, url_for
app = Flask(__name__)
@app.route('/')
def index():
return redirect(url_for('login'))
@app.route('/login')
def login():
abort(401)
# this_is_never_executed()
Yukarıdaki kod yürütüldüğünde, temel URL, oturum açma sayfası kodunun hiçbir zaman çalıştırılmaması için iptal işlevini kullanan oturum açma sayfasına gider.