Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

108
Vistas
El botón de confirmación en el botón Guardar como eliminar ya lo tiene

Quiero modificar la interfaz de administración de Django.

Hay un botón de eliminar que ya tiene una página de confirmación. Pero quiero agregar esta confirmación para guardar o cambiar botones. En realidad no es exactamente el mismo botón de borrar.

Quiero cambiar los botones de administración predeterminados como este JS o quiero agregar JS a los botones de administración.

 <input type="submit" onclick="linkSubmit('http://www.google.com')" value="Submit"> <p id="demo"></p> <script> function linkSubmit(link) { let text = "Press a button!\nEither OK or Cancel."; if (confirm(text) == true) { window.location.href = link; } else { } document.getElementById("demo").innerHTML = text; } </script>
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Encontramos la solución en los archivos del comando delete. Tomamos copias de los archivos para confirmar la función de eliminación y las conectamos al botón de confirmación.

Aún no podemos darlo como alerta. Da confirmación en otra página.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Suponiendo que ya existe algún tipo de detector de eventos para el botón, agregaría mi propia función personalizada como detector adicional para el evento de clic. Luego, pondría mi lógica if (confirm) y llamaría a event.stopImmediatePropagation() según sea necesario para evitar que ocurra la funcionalidad original.

about 4 years ago · Juan Pablo Isaza Denunciar

0

  1. Crea templates/admin/change_form.html en tu proyecto:
 {% extends "admin/change_form.html" %} {% block admin_change_form_document_ready %}{{ block.super }} <script id="django-admin-form-change-constants" data-model-name="{{ opts.model_name }}"> let modelName = document.getElementById('django-admin-form-change-constants').dataset.modelName; let form = document.getElementById(modelName + '_form'); form.addEventListener('submit', (event) => { let text = "Press a button!\nEither OK or Cancel."; if (!confirm(text)) { event.preventDefault(); } }); </script> {% endblock %}
  1. Configure DIRS en myproject/settings.py para que apunte al directorio de templates de su proyecto:
 TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [BASE_DIR / 'templates'], 'APP_DIRS': True, ... } ]

Referencias:

  • https://docs.djangoproject.com/en/4.1/ref/contrib/admin/#overriding-admin-templates
  • https://docs.djangoproject.com/en/4.1/howto/overriding-templates/#overriding-from-the-project-s-templates-directory
  • https://github.com/django/django/blob/4.1/django/contrib/admin/templates/admin/change_form.html#L66-L74
  • https://github.com/django/django/blob/4.1/django/contrib/admin/static/admin/js/change_form.js#L5
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda