Python → Python za web → Flask rute


Flask rute (URL putanje)


Lekcija 6 od 14

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.

U Flask-u se to radi pomoću ruta (routes).

Š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
Primer URL adresa
http://127.0.0.1:5000 http://127.0.0.1:5000/kontakt

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().

Naziv funkcije može biti bilo koji, ali je dobra praksa da opisuje stranicu.

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:

Rezultat
Zdravo Marko

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.