Você pode buscar o URL no seu modelo assim:
<p>URL of this page: {{ request.get_full_path }}</p>
ou pela
{{ request.path }}
se você não precisar dos parâmetros extras.
Algumas precisões e correções devem ser levadas às respostas de hypete e Igancio , apenas resumirei a idéia aqui, para referência futura.
Se você precisa da request
variável no modelo, você deve adicionar o 'django.core.context_processors.request' para as TEMPLATE_CONTEXT_PROCESSORS
configurações, não é por padrão (Django 1.4).
Você também não deve esquecer os outros processadores de contexto usados por seus aplicativos. Portanto, para adicionar a solicitação aos outros processadores padrão, você pode adicioná-lo nas suas configurações, para evitar codificar a lista de processadores padrão (que pode muito bem mudar nas versões posteriores):
from django.conf.global_settings import TEMPLATE_CONTEXT_PROCESSORS as TCP
TEMPLATE_CONTEXT_PROCESSORS = TCP + (
'django.core.context_processors.request',
)
Em seguida, desde que você envie o request
conteúdo em sua resposta , por exemplo, como este:
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)
)