Obtener la URL de referencia para la solicitud de matraz

Cuando un usuario visita nuestro sitio y se registra, ¿cómo puedo capturar de qué sitio web provienen?

Ya sea una búsqueda, un sitio web de relaciones públicas, etc. No me importa qué página de nuestro sitio visitó, solo quiero saber qué esfuerzos de marketing nos están dando la mayor cantidad de suscripciones.

Sé que Google Analytics probablemente puede hacer esto, pero también me gustaría tener algo interno como referencia.

request.referrer contiene la URL de la que proviene la solicitud, aunque puede que el cliente no la envíe por varios motivos.

El atributo toma su valor del encabezado del Referer (¡no es un error tipográfico!):

 referrer = request.headers.get("Referer") 

Consulte https://realpython.com/blog/python/python-web-applications-with-flask-part-ii/#Deriving.data.from.visitors para ver un ejemplo.

Gracias a la respuesta aceptada, configuré mi aplicación para capturar un referente externo y la almacené en la session . Luego, cuando el usuario se registra, guardo ese valor con el usuario.

 from flask import request, g from werkzeug.urls import url_parse def referral(): url = request.referrer # if domain is not mine, save it in the session if url and url_parse(url).host != "example.com": session["url"] = url return session.get("url") @app.before_request def before_request(): g.user = current_user g.url = referral()