Вы можете получить 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)
)