desarrollo de pruebas de Django plantilla -34- xadmin para añadir plug-in de la acción

A, presentaciones de enchufe acción

1. plug-in de acción proporciona los datos de la página de lista de datos de la función seleccionada. Puede ocuparse específicamente de los datos seleccionados después de la acción. Lotes función de eliminación como la acción predeterminada proporcionada.

 2. Para activar la acción, los desarrolladores pueden establecer la Clase Modelo atributos "acciones", que es un tipo de lista.

      xadmin dirección oficial: https://xadmin.readthedocs.io/en/latest/plugins.html

En segundo lugar, la operación específica

1.  primero tiene una clase que hereda de Acción BaseActionView

de xadmin.plugins.actions importación BaseActionView 

clase MyAction (BaseActionView): 

    # aquí para llenar tres propiedades 
    ACTION_NAME = " my_action "     # : equivalente únicamente identifica esta acción, tratar de comparar con el nombre apuntado 
    la descripción = _ (T ' Test seleccionado% (verbose_name_plural) S ' ) # : descripción aparece en el menú Acciones, se puede usar ``% (verbose_name_plural) s`` en lugar del nombre del modelo. 

    model_perm = ' Cambiar '     # : la acción requerida autorización 

    # do_action entonces implementado métodos 
    DEF do_action (Ser, QuerySet):
         #queryset ya contiene una selección de queryset datos 
        de obj en queryset:
             # obj operación 
            ...
         # retorno HttpResponse 
        volver HttpResponse (...)

2. La acción en esta solicitud corresponde Clase Modelo

clase MyModelAdmin (objeto): 

    acciones = [MyAction,]

En tercer lugar, la operación de ejemplo

En la página Lista de Estudiantes, tengo que comprobar diferentes elementos para lograr el vaciado de los estudiantes en edad operación, un nuevo archivo adminx_actions.py en el mismo directorio adminx.py

# ACTION_NAME identifica de forma exclusiva la acción de 
# La descripción aparece en el nombre del menú Acción 
# La acción requerida permisos model_perm, un total de cuatro ( 'Add', 'Cambio', 'la Borrar', 'Ver') 
# muestra el icono iconos 
# ejecución do_action acciones

adminx_actions.py

 

de django.http importación HttpResponse
 de xadmin.plugins.actions importación BaseActionView 


clase ClearAction (BaseActionView): 

    "" " 
    Acción vacío 
    " "" 
    ACTION_NAME = " clear_score " 

    # aparece en el menú Acción, el nombre de 
    la descripción = U ' vacío puntajes% (verbose_name_plural) S ' 

    # permisos de acción 
    model_perm = ' Cambiar ' 

    icono = ' FA FA-bichos ' 


    DEF do_action (Ser, QuerySet):

        para obj enqueryset: 

            obj.student_age = 0 
            obj.save () 

        de retorno Ninguno

adminx.py

clase ControlStudent (Objeto): 

    # campo de visualización 
    list_display = ( ' student_no ' , ' student_name ' , ' student_age ' , ' student_score ' , ' student_gender ' , ' maestro ' ) 

    # consulta 
    search_fields = ( ' student_name ' ,) 

    # por visualización de n 
    list_per_page = 5. 

    acciones = [ClearAction,]

     DEF maestro (Ser, obj): 

        retorno[x.teacher_name para x en obj.teachers.all ()]

página del navegador:

 

Supongo que te gusta

Origin www.cnblogs.com/chushujin/p/12614631.html
Recomendado
Clasificación