request.META?En Django, request.META es un diccionario que contiene todas las cabeceras HTTP y variables del entorno de la solicitud actual.
Esta información es enviada por el cliente o manejada por el servidor durante la solicitud HTTP.
User-Agent, Referer, etc.request.META{
'HTTP_USER_AGENT': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
'HTTP_REFERER': 'https://ejemplo.com/pagina1',
'REMOTE_ADDR': '192.168.1.1',
'SERVER_NAME': 'localhost',
'SERVER_PORT': '8000',
'HTTP_ACCEPT_LANGUAGE': 'es-ES,es;q=0.9',
} request.META?REMOTE_ADDR.HTTP_REFERER.request.METAUsar la cabecera HTTP_USER_AGENT para personalizar la experiencia del usuario.
def detectar_navegador(request):
agente_usuario = request.META.get('HTTP_USER_AGENT', 'Desconocido')
if 'Mobile' in agente_usuario:
return HttpResponse("Estás utilizando un dispositivo móvil.")
return HttpResponse("Estás utilizando un dispositivo de escritorio.") Rastrear la IP del usuario con REMOTE_ADDR.
def obtener_ip(request):
ip_cliente = request.META.get('REMOTE_ADDR', 'IP no disponible')
return HttpResponse(f"Tu dirección IP es: {ip_cliente}") Usar la cabecera HTTP_ACCEPT_LANGUAGE para mostrar contenido en el idioma preferido del cliente.
def detectar_idioma(request):
idioma = request.META.get('HTTP_ACCEPT_LANGUAGE', 'Idioma no especificado')
return HttpResponse(f"Tu idioma preferido es: {idioma}") request.META['HTTP_REFERER']?request.META['HTTP_REFERER'] es una clave dentro de request.META que contiene la URL de la página desde la que el usuario llegó a la página actual.
Este valor proviene del encabezado HTTP Referer enviado por el navegador.
from django.shortcuts import redirect
def volver_a_anterior(request):
referer = request.META.get('HTTP_REFERER')
if referer:
return redirect(referer)
return redirect('/') # Redirige a una página por defecto si no hay Referer HTTP_REFERERdef mostrar_origen(request):
referer = request.META.get('HTTP_REFERER', 'Origen no disponible')
return HttpResponse(f"Viniste desde: {referer}") def registrar_origen(request):
referer = request.META.get('HTTP_REFERER', 'Desconocido')
with open('origenes.txt', 'a') as archivo:
archivo.write(f"Solicitud desde: {referer}
")
return HttpResponse("Origen registrado.") def redirigir_segun_origen(request):
referer = request.META.get('HTTP_REFERER', '')
if 'google.com' in referer:
return HttpResponse("Bienvenido usuario de Google.")
return HttpResponse("Bienvenido a nuestro sitio.") request.META.get('HTTP_REFERER')from django.shortcuts import render
def mi_vista(request):
referer = request.META.get('HTTP_REFERER', '/')
return render(request, 'mi_template.html', {'referer': referer}) <a href="{{ referer }}">Volver</a> request.META es una herramienta poderosa en Django que permite obtener información clave sobre la solicitud HTTP y el cliente.
Valores como HTTP_REFERER son útiles para gestionar flujos de navegación y rastrear el origen de los usuarios, pero deben usarse con precaución debido a su posible manipulación.