Modelo de Usuarios personalizado en Django

Django es un Framework para el desarrollo de Aplicaciones Web en Python, que incluye un modelo de autenticación y gestión de usuarios que podemos extender para adaptar a nuestras necesidades (tanto para usuarios admin, como no admin), algo que no sólo es habitual, sino también una práctica recomendada. En este Post vamos a ver cómo extender el modelo de Usuarios proporcionado por Django, añadiendo atributos, personalizando sus páginas, así como otros detalles como el envío de email (ej: reseteo de contraseña) y la configuración de secretos desde variables de entorno o desde un fichero .env (evitando hardcodear datos sensibles o configuraciones variables en el settings.py y registrarlos en el historial de git)