Django: получите URL текущей страницы, включая параметры, в шаблоне

Существует ли способ получить текущую страницу URL и все ее параметры в шаблоне Django?

Например, templatetag, который распечатал бы полный URL как /foo/bar?param=1&baz=2

57
задан Matt Hampel 1 September 2015 в 17:55
поделиться

2 ответа

Напишите собственный обработчик контекста. например

def get_current_path(request):
    return {
       'current_path': request.get_full_path()
     }

добавьте путь к этой функции в свою переменную настроек TEMPLATE_CONTEXT_PROCESSORS и используйте его в своем шаблоне следующим образом:

{{ current_path }}

Если вы хотите иметь полный объект запроса в каждом запроса, вы можете использовать встроенный django.core.context_processors.request обработчик контекста, а затем использовать {{request.get_full_path}} в своем шаблоне.

См .:

71
ответ дан 24 November 2019 в 19:33
поделиться

В файле context_processors.py (или подобное):

def myurl( request ):
  return { 'myurlx': request.get_full_path() }

В settings.py:

TEMPLATE_CONTEXT_PROCESSORS = (
  ...
  wherever_it_is.context_processors.myurl,
  ...

В вашем шаблоне.html:

myurl={{myurlx}}
8
ответ дан 24 November 2019 в 19:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: