5

Recentemente ho cercato di creare un progetto che coinvolgesse diversi livelli di utenti.interfacce "admin" separate per diversi tipi di utenti in django

(solo un esempio di uno schema abbreviato e ruvido)

  • ME (Super User)
    • client (s)
      • clienti (s)
      • Survey Collezioni
        • SurveyUser (s)
          • Invitato (s)
        • indagini
          • Invitato (s) (invitato è un bambino sia di indagine e user)
        • Domande
        • Etc

Vorrei idealmente avere:

  • www.example.com/client/ andare a un'interfaccia client, che si doveva essere un client per l'accesso
  • www.example.com/customer/ accedere all'interfaccia cliente a cui si doveva essere clienti per accedere a

Ho già stabilito che l'utilizzo di un'interfaccia di amministrazione Django personalizzata per tutti loro probabilmente non sarà possibile (o lo è?). Sono quindi propenso a creare manualmente interfacce "admin" per ogni livello di utente, consentendo loro di gestire i rispettivi ruoli. Qual è il modo migliore di avere diversi tipi di utenti e interfacce separate per ognuno?

Mi piace il modo di ereditare utenti delineati a: http://scottbarnham.com/blog/2008/08/21/extending-the-django-user-model-with-inheritance/

Ma sono sicuro di come vorrei impostare le aree 'admin' diverse per utenti diversi.

Come un problema correlato, non sono sicuro di come accedere alle proprietà personalizzate a fianco delle proprietà utente standard e come modificarle/salvarle nell'interfaccia di amministrazione ACTUAL che userò.

avrei bisogno di autenticare gli utenti 'cliente' nei confronti di un database client per controllare che siano i clienti, ma in qualche modo anche l'autenticazione con il database utente che gestisce l'autenticazione, nome utente, password ecc

sto commutazione da PHP a Python/Django quindi ogni consiglio molto apprezzato per aiutarmi.

Grazie!

+2

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

+0

Grazie, totalmente non ha notato la tua risposta! Da allora mi sono trasferito su ruby ​​su rail che sta funzionando molto meglio per il modo in cui sviluppo, ma spero ancora che le persone trovino il tuo link utile, sembra risolvere un problema simile :) –

risposta

2

Il più vicino ho avuto modo di questo era basato su un altro articolo StackOverflow qui: How to have 2 different admin sites in a Django project?

ho finito per creare due istanze del tutto separate di django.contrib.admin.sites.AdminSite che sembravano lavorare, alla fine, anche se non è l'ideale