Rajeev
Estoy pasando la solicitud a la página de la plantilla. En la plantilla de django, cómo pasar la última página desde la que se inicializó la nueva página. En lugar de history.go (-1), necesito usar esto
{{request.http referer}} ??
<input type="button" value="Back" /> //onlcick how to call the referrer
daniel dipaolo
Ese dato está en el META
atributo de la HttpRequest
y es el HTTP_REFERER
(sic), por lo que creo que debería poder acceder a ella en la plantilla como:
{{ request.META.HTTP_REFERER }}
Funciona en la concha:
>>> from django.template import *
>>> t = Template("https://stackoverflow.com/questions/4406377/{{ request.META.HTTP_REFERER }}")
>>> from django.http import HttpRequest
>>> req = HttpRequest()
>>> req.META
{}
>>> req.META['HTTP_REFERER'] = 'google.com'
>>> c = Context({'request': req})
>>> t.render(c)
u'google.com'
-
También dices que funcionaría…
– Rajeev
10 de diciembre de 2010 a las 9:45
Rajeev, esto es lo que hago:
<a href="https://stackoverflow.com/questions/4406377/{{ request.META.HTTP_REFERER }}">Referring Page</a>
-
amigo, quiero implementarlo en la página de selección de elementos (que es un modal de arranque). cuando el usuario quiere agregar un producto a su lista de deseos, quiero un enlace a la página de productos y un botón de retroceso a la página de la lista de deseos (que es un formulario en ese modo BS). Lo usé, pero me lleva de vuelta a la página que contiene el modal. ¿Puedo volver a la página con ese modal abierto y tener los mismos valores en los cuadros de entrada que contiene?
– Shahriar.M
24 de diciembre de 2020 a las 14:41
esto funcionó para mí request.META.get('HTTP_REFERER')
Con esto no obtendrá un error si no existe, obtendrá Ninguno en su lugar
Con 2 líneas de código a continuación, podría obtener referente en anulado get_queryset()
en Administrador de Django:
# "store/admin.py"
from django.contrib import admin
from .models import Person
@admin.register(Person)
class PersonAdmin(admin.ModelAdmin):
def get_queryset(self, request):
print(request.META.get('HTTP_REFERER')) # Here
print(request.headers['Referer']) # Here
return super().get_queryset(request)
Salida en consola:
http://localhost:8000/admin/store/person/ # request.headers['Referer']
http://localhost:8000/admin/store/person/ # request.META.get('HTTP_REFERER')