dingo es una aplicación de Django Django que se extiende la administración para permitir la fácil creación de puntos de vista adicionales para las clases de modelos e instancias. dingo también le permite personalizar el Administrador de aplicaciones de terceros, sin subclases o modificar el árbol fuente original.
Uso
Para utilizar dingo, asegúrese de que está en la ruta de Python, y agregarlo a tus INSTALLED_APPS ajuste en settings.py. Tenga en cuenta que dingo debe instalarse antes django.contrib.admin, ya que sustituye a la AdminSite defecto con una que hará instrumento de las clases ModelAdmin registradas.
Modelos vs. Objetos
dingo se puede utilizar para registrar vistas de modelos u objetos. Vistas registrados para los modelos no son específicos de cualquier instancia del modelo; que pueden ser considerados como similares a las acciones de administración de Django con un [potencialmente] queryset vacía. Vistas de instancia operan en instancias modelo individuales; usted puede pensar en ellos como similares a las acciones de administración que operan en un solo objeto en vez de un queryset.
vistas dingo se diferencian de las acciones de administrador en un par de maneras sutiles. La diferencia más importante es que pueden ser inyectados en aplicaciones de terceros wihthout sub-classing o modificar el código de la aplicación. vistas dingo también tienen una interfaz de usuario diferente por defecto. dingo incluye plantillas de administración de reemplazo que muestran dingo vistas como botones en la parte superior derecha de la lista de cambios y cambiar puntos de vista de formulario.
Adición Vistas
Si desea utilizar dingo añadir modelo u objeto vistas al administrador de su modelo, puede definirlos bien como funciona o como métodos en el ModelAdmin.
Por ejemplo, para definir la vista como una función:
dingo importación
dingo_test.models importación
@ Dingo.object_view (dingo_test.models.RstDocument)
@ Dingo.short_description ("Dad")
def render (model_admin, petición, object_id):
& Nbsp; de redirección importación django.shortcuts
& Nbsp; documento = dingo_test.mdoels.RstDocument.objects.get (id = object_id)
& Nbsp; de retorno Respuesta ()
El mismo punto de vista también puede ser un método en el ModelAdmin:
RstDocumentAdmin clase (ModelAdmin):
& Nbsp; @ dingo.object_view (dingo_test.models.RstDocument)
& Nbsp; @ dingo.short_description ("Dad")
& Nbsp; def render (self, solicitud, object_id):
& Nbsp; pase
Tenga en cuenta que el uso de la decoradora short_description define la etiqueta utilizada en la interfaz de usuario administrador, y es opcional en este caso. Si no se proporciona ninguna descripción, dingo se formatee la función o el método nombre, similar a cómo Django formatos predeterminados nombres detallados de los modelos.
Adición Vistas a aplicaciones de terceros
Mientras dingo aparece en INSTALLED_APPS antes django.contrib.admin, el ejemplo basado en la función anterior trabajará si lo deseas. Tenga en cuenta que el código tiene que ser importado para garantizar que el registro se produce correctamente
Características .
- Crear fácilmente nuevas vistas para su Modelo de administración, ya sea a nivel de modelo u objeto.
- Inyectar personalizaciones en la declaración de administrador de una aplicación de terceros, sin modificar la base de código original.
Requisitos
- Python
Comentarios que no se encuentran