2009-06-24 19 views
9

Actualmente estoy desarrollando un proyecto de blog utilizando el modelo de publicación, que será utilizado por varios autores.Django: la mejor práctica para implementar CRUD fuera de contrib.admin

Quiero hacer una interfaz de administrador/panel de control donde cada autor del Correo pueda ver la lista de publicaciones que el autor creó (para que no vea la publicación creada por los otros autores), editar y múltiples- borra los.

Valid use case for django admin? dijo que:

la administración de Django no es adecuado para perfiles de usuario individuales, cada usuario sería capaz de ver y editar todos los demás perfiles de usuario. Esto es adecuado más para un administrador que tiene que administrar todos los usuarios a la vez.

Eso significa que se debe crear un nuevo sistema CRUD, fuera de la interfaz contrib.admin. Entonces, la pregunta es, ¿existe alguna técnica/forma de implementar el CRUD fuera del sistema contrib.admin? o, ¿qué necesito estudiar/usar? ¿Cómo puedo implementarlo bien (el mínimo esfuerzo)?

Gracias de antemano :)

Respuesta

9

Esto es bastante fácil de hacer modificando el administrador de Django. Si esta es la única razón para abandonar contrib.admin, entonces es posible que desee buscar algunos artículos recientes sobre cómo personalizar el administrador antes de continuar y arrojar al bebé con el agua del baño.

He encontrado algunos candidatos probables:

y en general: http://www.ibm.com/developerworks/opensource/library/os-django-admin/index.html

(tenga en cuenta que no había una vieja técnica que utiliza unas roscas locales hack. Esto ya no es necesario, ya que hay mejores maneras de hacerlo. Una mención de esto es una señal segura de que la arti cle no está actualizado.)

+0

Gracias Andy! Esto es justo lo que estoy buscando :) Tanto usted como Harper me han brindado excelentes respuestas :) Intentaré jugar con el conjunto de consulta de administración. Lo último que me desconcertó ahora es la eliminación múltiple en el administrador CRUD. Pero supongo que será otra historia, jejeje. Gracias! –

+0

Múltiples acciones de eliminación y otras acciones por lotes vienen con Django 1.1 –

0

En Django 1.3, las "vistas genéricas" (formas CRUD) han cambiado para estar basadas en clases. Ver here.

Cuestiones relacionadas