Por ejemplo (no es el caso, pero solo para ilustrar) si quería agregar una acción para establecer un campo específico en los elementos seleccionados en X. ¿Es posible agregar una acción para permitir que se ingrese X en lugar de duro? codificado?¿Puede agregar parámetros a las acciones de administración personalizada de Django?
Respuesta
Ver: Actions that Provide Intermediate Pages
No puede hacerlo desde la página de lista de cambios, pero en su página intermedia, puede tener una forma que permita al usuario introducir un valor, y luego usar ese valor para la acción.
Es posible con Django 1.5, aunque es un poco hackish. No estoy seguro de qué otras versiones anteriores de Django es posible.
Escribe su propia subclase ModelAdmin. ModelAdmin tiene un atributo llamado action_form
que determina el formulario que se muestra antes del botón Go
en la página de la lista de cambios. Puede escribir su propio formulario y configurarlo como action_form en su subclase ModelAdmin.
from django.contrib.admin.helpers import ActionForm
# ActionForm is the default form used by Django
# You can extend this class
class XForm(ActionForm):
x_field = forms.CharField()
class YourModelAdmin(admin.ModelAdmin):
action_form = XForm
Con estos cambios, que tendrá una CharField, donde se puede poner el valor de X
.
Y use x_field
en su función de acción.
def set_x_on_objects(modeladmin, request, queryset):
for obj in queryset:
obj.something = request.POST['x_field']
# do whatever else you want
class YourModelAdmin(admin.ModelAdmin):
action_form = XForm
actions = [set_x_on_objects]
- 1. Agregar acción personalizada a la página de administración de UserModel
- 2. No se puede agregar una vista personalizada a la barra de acciones de Android, ¿por qué?
- 3. Agregar enlace a la página de administración de django
- 4. Parámetros de Struts2 entre las acciones
- 5. acciones recientes del panel de administración
- 6. Cómo perfilar un comando de administración personalizada de Django exclusivamente
- 7. Interfaz de administración de Django - Nombre de la aplicación personalizada
- 8. Mensaje de error personalizado en las acciones de administración de Django
- 9. Comando de administración personalizada de Django con Scrapy: ¿Cómo incluir las opciones de Scrapy?
- 10. Agregar acción personalizada en los carriles de administración
- 11. Cómo agregar una validación de modelo de Django personalizada
- 12. cómo modificar las opciones en las páginas de administración - Django
- 13. Escribiendo pruebas para las acciones administrativas de Django
- 14. Django ¿cómo pasar las variables personalizadas al contexto para usar en la plantilla de administración personalizada?
- 15. ¿Cómo se usa la opción de comando de administración personalizada de Django?
- 16. Vista personalizada de la barra de acciones
- 17. Agregar acción personalizada al objeto en línea de Django en la interfaz de administrador
- 18. Definición de una lista de aplicaciones personalizada en la página de índice de administración de django
- 19. filtro de lista de administración de Django
- 20. Validación personalizada de administración de Django: requiere al menos un modelo de clave foránea en línea
- 21. Administración de parámetros de URL (Python Flask)
- 22. Puede agregar prioridades a las llamadas AJAX
- 23. Django: dividir los comandos de administración en las subcarpetas
- 24. Struts 2: parámetros entre Acciones
- 25. campos dinámicos en Django administración
- 26. ¿Cómo agregar atributos a las etiquetas de opción en django?
- 27. Uso forms.TextArea para el campo JSON personalizada en el sitio de administración de Django
- 28. Django administración ManyToManyField
- 29. ¿Puedo agregar un detector de acciones a un JLabel?
- 30. django-admin: Agregar fila adicional con totales