applications/home

views.py

import datetime
#
from django.shortcuts import render
from django.contrib.auth.mixins import LoginRequiredMixin
from django.urls import reverse_lazy, reverse

from django.views.generic import (
    TemplateView
)

class FechaMixin(object):
    
    def get_context_data(self, **kwargs):
        context = super(FechaMixin, self).get_context_data(**kwargs)
        context['fecha'] = datetime.datetime.now()
        return context


class HomePage(LoginRequiredMixin, TemplateView):
    template_name = "home/index.html"
    login_url = reverse_lazy('users_app:user-login')

    

class TemplatePruebaMixin(FechaMixin, TemplateView):
    template_name = "home/mixin.html"


urls.py

#
from django.urls import path

from . import views

app_name = "home_app"

urlpatterns = [
    path(
        'panel/', 
        views.HomePage.as_view(),
        name='panel',
    ),
    path(
        'mixin/', 
        views.TemplatePruebaMixin.as_view(),
        name='mixn',
    ),
]

template/home/index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>Panel de usuario</h1>
    <h3>Bienvenidos: {{user}}</h3>
    <ul>
        <li><a href="{% url 'users_app:user-logout' %}">Cerrar Sesion</a></li>
        <li><a href="{% url 'users_app:user-update' %}">Actualizar Datos</a></li>
    </ul>
</body>
</html>

template/home/mixin.html

<h1>Probando mixin:</h1>

{{ fecha }}

 

al cerrar sesion ya no nos deja entrar, ingresamos la url http://127.0.0.1:8000/panel/