Stiamo sviluppando una applicazione con Flask che usa Jinja2 come template engine. All’interno del template html che stiamo sviluppando abbiamo bisogno di ottenere l’URL corrente e la domanda che ci poniamo è se esiste un modo nativo in Jinja2 che ci permetta di ottenerlo facilmente. La risposta è si e ora vediamo qui di seguito come fare.
Ottenere URL corrente in Jinja2
http://www.my-domain.com
che è l’esempio di URL più semplice. Per stamparlo all’interno del nostro template, usiamo il seguente codice
{{ url_for(request.endpoint) }}
Quindi, se per esempio volessimo creare un collegamento basandoci sul valore del nostro URL, potremmo fare qualcosa di simile:
Ottenere URL corrente (incluso i parametri) in Jinja2
In questo caso il nostro URL è composto così http://www.my-domain.com/example/1/2
Essendoci anche dei parametri, se vogliamo ottenere l’URL completo, allora nel nostro template Jinja2 utilizzeremo il seguente codice:
{{ url_for(request.endpoint, **request.view_args) }}
Pertanto, riprendendo l’esempio del collegamento che abbiamo fatto sopra, il nostro HTML diventerebbe simile al seguente: