Ignorar la carpeta venv en Git
This commit is contained in:
@@ -0,0 +1,28 @@
|
||||
from django.shortcuts import redirect
|
||||
from django.urls import resolve, reverse
|
||||
from .models import MaintenanceMode
|
||||
|
||||
class MaintenanceMiddleware:
|
||||
def __init__(self, get_response):
|
||||
self.get_response = get_response
|
||||
|
||||
def __call__(self, request):
|
||||
# Excluir todas las rutas bajo /admin y la propia página de mantenimiento
|
||||
excluded_prefixes = [
|
||||
reverse('admin:index').rstrip('/'), # Asegura que todas las rutas bajo /admin estén excluidas
|
||||
reverse('maintenance').rstrip('/'), # Página de mantenimiento
|
||||
]
|
||||
|
||||
# Verificar si la ruta actual está en los prefijos excluidos
|
||||
if any(request.path.startswith(prefix) for prefix in excluded_prefixes):
|
||||
return self.get_response(request)
|
||||
|
||||
# Verificar si el modo de mantenimiento está activo
|
||||
try:
|
||||
maintenance = MaintenanceMode.objects.first()
|
||||
if maintenance and maintenance.is_active:
|
||||
return redirect('maintenance')
|
||||
except MaintenanceMode.DoesNotExist:
|
||||
pass
|
||||
|
||||
return self.get_response(request)
|
||||
Reference in New Issue
Block a user