# 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) ```