Muszę dynamicznie zbudować adres URL zgodnie z aktualnym adresem URL. Używanie {% url %}
tagu to najłatwiejszy sposób, ale potrzebuję aktualnej nazwy adresu URL, aby dynamicznie wygenerować nowy.
Jak mogę uzyskać nazwę adresu URL dołączoną do urlconf, która prowadzi do bieżącego widoku?
EDYCJA: Wiem, że mogę ręcznie stworzyć adres URL, get_absolute_url
ale wolałbym tego uniknąć, ponieważ jest to część wykładu i chciałbym zademonstrować tylko jeden sposób tworzenia adresów URL.
Uczniowie wiedzą, jak używać {% url %}
. Wiedzą, że napotykają problem, kiedy muszą wygenerować bardziej kompletny adres URL na podstawie bieżącego. Najłatwiej jest użyć go {% url %}
ponownie, z pewnymi zmianami. Ponieważ nazwaliśmy url, musimy wiedzieć, jak uzyskać nazwę adresu URL, który wywołał bieżący widok.
EDYCJA 2: innym przypadkiem użycia jest wyświetlanie części szablonu podstawowego w inny sposób w zależności od szablonu podstawowego. Są na to inne sposoby (używając CSS i {% block%}, ale czasami miło jest móc usunąć znacznik wpisu menu base.html, jeśli nazwa widoku pasuje do linku.
{{ request.get_full_path }}