---
# System prepended metadata

title: URL krativec

---

# URL krativec

## Izdelava preprostega URL skrajševalca
Cilj te vaje je, da ustvarite preprost sistem za skrajševanje dolgih URL-jev, kot je [TinyUrl](https://tinyurl.com/app).

'long url' - dolg url, ki ga žeimo skrajšati
'short url' - kratka koda, ki poveže na "long url"

Če bomo svoj URL skrajševalnik gostili na platformi, kot je repl.it, ki uporablja dolge domene, lahko izgubimo nekaj funkcionalnosti krajšanja URL-jev zaradi dolžine domene. Vendar pa bi lahko rešili to težavo z nakupom kratke domene, kar bi omogočilo, da naš URL skrajševalnik deluje na krajši domeni.

**Ustvarjanje HTML obrazca**
Ustvarite enostaven HTML obrazec, kjer lahko uporabniki vnašajo dolge URL-je, ki jih želijo skrajšati.

**Generiranje kratkega URL-ja**
S pomočjo Pythona boste ustvarili funkcijo, ki bo dolg URL pretvorila v krajšo različico. To lahko storite tako, da generirate naključen niz znakov ali pa uporabite določen algoritem za skrajševanje.
Potem pa si pod tem naključnim nizom v slovar shraniti "dolg url".

**Povezava s "short url"**
Zapišite kodo, ki bo povezala krajšo različico z originalnim dolgim URL-jem.
```python=
#ne pozabi na ta način routiranja!
@app.route('/<short_url>')
def redirect_to_long_url(short_url):
    print(short_url)
```


**Približna struktura**
```python=
# Uvoz potrebnih knjižnic

# Ustvarjanje Flask aplikacije
app = Flask(__name__)

# Slovar za shranjevanje preslikav med kratkimi in dolgimi URL-ji
slovar_preslikav = {} # primer vpisa {"AGKjf":"www.looong_url.com"}
# Funkcija za generiranje krajšega URL-ja

# Definicija poti za osnovno stran
@app.route('/')
def index():
    # Vrnitev predloge za osnovno stran

# Definicija poti za skrajševanje URL-jev
@app.route('/shorten', methods=['POST'])
def shorten_url():
    # Pridobitev dolgega URL-ja iz obrazca
    # Generiranje krajšega URL-ja
    # Shranjevanje preslikave krajšega in dolgega URL-ja
    # Vrnitev predloge za osnovno stran s krajšim URL-jem

# Definicija poti za preusmeritev na dolgi URL
@app.route('/<short_url>')
def redirect_to_long_url(short_url):
    # Preverjanje, ali je krajši URL v slovarju preslikav
    # Preusmeritev na dolgi URL

# Zagon Flask aplikacije
if __name__ == "__main__":
    app.run(debug=True)

```