5

Recientemente he estado tratando de crear un proyecto que tiene varios niveles de usuarios involucrados.interfaces separadas 'admin' para diferentes tipos de usuario en django

(sólo un ejemplo de un esquema abreviado y áspero)

  • ME (Super User)
    • cliente (s)
      • cliente (s)
      • Encuesta Colecciones
        • SurveyUser (s)
          • de invitados (s)
        • Surveys
          • de invitados (s) (invitado es un hijo de ambos encuesta y usuario)
        • Preguntas
        • Etc

Me gustaría tener idealmente:

  • www.example.com/client/ ir a una interfaz de cliente que había que ser un cliente para el acceso
  • www.example.com/customer/ vaya a una interfaz de cliente para la que debe ser cliente para acceder al

Ya he establecido que probablemente no sea posible usar una interfaz de administración de Django personalizada para todos ellos (¿o sí?). Por lo tanto, me inclino por la creación manual de interfaces 'admin' para cada nivel de usuario, lo que les permite administrar sus respectivos roles. ¿Cuál es la mejor manera de tener diferentes tipos de usuarios e interfaces separadas para cada uno?

me gusta la forma de heredar los usuarios descritos en: http://scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance/

Pero estoy seguro de cómo iba a establecer diferentes áreas 'admin' para diferentes usuarios.

Como una cuestión secundaria relacionada, tampoco estoy seguro de cómo acceder a las propiedades personalizadas junto a las propiedades de usuario estándar y cómo editarlas/guardarlas en la interfaz de administración REAL que usaré.

que iba a necesitar para autenticar usuarios 'cliente' contra una base de datos cliente para comprobar que son clientes pero de alguna manera también autenticarse en la base de datos de usuario que gestiona la autenticación, nombre de usuario, contraseña, etc.

estoy cambiando de PHP para Python/Django así que cualquier consejo muy apreciado para ayudarme.

Gracias!

+2

http://stackoverflow.com/questions/3206856/how-to-have-2-different-admin-sites-in-a-django-project –

+0

Gracias, totalmente no se dio cuenta de su respuesta! Desde entonces me he mudado a ruby ​​on rails, que está funcionando mucho mejor para la forma en que desarrollo, pero aún espero que las personas encuentren útil su enlace, parece que resuelve un problema similar :) –

Respuesta

2

Lo más cerca que llegué a esto se basaba en otro artículo StackOverflow aquí: How to have 2 different admin sites in a Django project?

Terminé la creación de dos instancias completamente separadas de django.contrib.admin.sites.AdminSite que parecían trabajar en el final, aunque no es ideal.

Cuestiones relacionadas