Вы можете получить URL в вашем шаблоне следующим образом:
<p>URL of this page: {{ request.get_full_path }}</p>
или
{{ request.path }}
если вам не нужны дополнительные параметры.
Некоторые уточнения и исправления должны быть доведены до hypete - х и Igancio в ответах, я просто суммировать всю идею здесь, для справки в будущем.
Если вам нужна request
переменная в шаблоне, вы должны добавить 'django.core.context_processors.request' в TEMPLATE_CONTEXT_PROCESSORS
настройки, это не по умолчанию (Django 1.4).
Вы также не должны забывать другие контекстные процессоры, используемые вашими приложениями. Таким образом, чтобы добавить запрос к другим процессорам по умолчанию, вы можете добавить это в свои настройки, чтобы избежать жесткого кодирования списка процессоров по умолчанию (который может очень хорошо измениться в более поздних версиях):
from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP
TEMPLATE_CONTEXT_PROCESSORS = TCP + (
'django.core.context_processors.request',
)
Затем при условии, что вы отправите request
содержимое в своем ответе , например, так:
from django.shortcuts import render_to_response
from django.template import RequestContext
def index(request):
return render_to_response(
'user/profile.html',
{ 'title': 'User profile' },
context_instance=RequestContext(request)
)