feat: añadir app general con LogService centralizado
- Crear app/general con estructura estándar del proyecto: · utilidades/acciones.py → LogService.gestionar_log() (única fuente de logs) · utilidades/utils.py → get_client_ip() · utilidades/custom_errors.py → ValidationError, ExternalServiceError, NotFoundError · exception.py, request.py, serializers.py, validaciones/ - Registrar 'general' en INSTALLED_APPS y añadir general/ a urls.py - Refactorizar promociones/views.py para usar LogService en lugar de Log directo Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
21
app/general/exception.py
Normal file
21
app/general/exception.py
Normal file
@@ -0,0 +1,21 @@
|
||||
from rest_framework.views import exception_handler
|
||||
from rest_framework.response import Response
|
||||
|
||||
|
||||
def custom_exception_handler(exc, context):
|
||||
"""
|
||||
Handler global de excepciones para DRF.
|
||||
Añadir en settings.py:
|
||||
REST_FRAMEWORK = {
|
||||
'EXCEPTION_HANDLER': 'general.exception.custom_exception_handler',
|
||||
}
|
||||
"""
|
||||
response = exception_handler(exc, context)
|
||||
|
||||
if response is not None:
|
||||
response.data = {
|
||||
'body': {'data': [], 'error': response.data},
|
||||
'mensaje': str(exc),
|
||||
}
|
||||
|
||||
return response
|
||||
Reference in New Issue
Block a user