Python → Python za web → Flask rute
Flask rute (URL putanje)
U prethodnoj lekciji napravili smo našu prvu Flask web aplikaciju.
Sada ćemo naučiti kako Flask odlučuje koji Python kod treba da se pokrene kada korisnik poseti određenu URL adresu.
Šta je ruta?
Ruta je veza između URL adrese i Python funkcije.
Kada korisnik otvori određenu adresu, Flask pokreće funkciju koja je povezana sa tom rutom.
- URL → Python funkcija
- Python funkcija → odgovor servera
Primer jednostavne rute
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "Početna stranica"
@app.route("/kontakt")
def kontakt():
return "Kontakt stranica"
app.run()
Ovaj kod definiše dve URL adrese.
- / → početna stranica
- /kontakt → kontakt stranica
Kako Flask pronalazi odgovarajuću funkciju?
Dekorator @app.route() govori Flask-u koju funkciju treba pokrenuti za određeni URL.
@app.route("/kontakt")
def kontakt():
return "Kontakt stranica"
Ako korisnik otvori adresu /kontakt, Flask pokreće funkciju kontakt().
Dinamičke rute
Flask omogućava i kreiranje dinamičkih URL adresa.
To znači da deo URL-a može biti promenljiv.
@app.route("/korisnik/<ime>")
def korisnik(ime):
return "Zdravo " + ime
Ako otvorimo adresu:
http://127.0.0.1:5000/korisnik/Marko
server će prikazati:
Dinamičke rute sa brojevima
Flask može ograničiti tip promenljive.
@app.route("/broj/<int:id>")
def broj(id):
return "Broj je: " + str(id)
Ovde Flask očekuje da deo URL-a bude broj.
Mini projekat – Profil korisnika
Napravimo aplikaciju koja prikazuje profil korisnika preko URL adrese.
from flask import Flask
app = Flask(__name__)
@app.route("/")
def home():
return "Početna stranica"
@app.route("/profil/<ime>")
def profil(ime):
return "<h2>Profil korisnika: " + ime + "</h2>"
app.run()
Kako radi ovaj projekat?
- URL sadrži ime korisnika
- Flask prosleđuje ime funkciji
- funkcija generiše HTML odgovor
Najčešće korišćeni tipovi parametara
- <string:ime> – tekst
- <int:id> – broj
- <float:cena> – decimalni broj
- <path:putanja> – deo URL putanje
Povezane lekcije
Često postavljana pitanja
Šta je Flask ruta?
Ruta povezuje URL adresu sa Python funkcijom.
Da li jedna aplikacija može imati više ruta?
Da. Flask aplikacija može imati veliki broj ruta.
Šta su dinamičke rute?
To su URL adrese koje sadrže promenljive vrednosti.
Zašto su rute važne?
Rute određuju kako korisnici pristupaju stranicama web aplikacije.