Существует ли способ получить текущую страницу URL и все ее параметры в шаблоне Django?
Например, templatetag, который распечатал бы полный URL как /foo/bar?param=1&baz=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}}
в своем шаблоне.
См .:
В файле 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}}