Ho un sistema di autenticazione basato su auth django, ma devo aggiungere informazioni agli utenti. Qual è il modo migliore per farlo in django 1.5? (Nel 1.4 stavo usando un profilo collegato con onetoone all'utente, ma ora?)Django 1.5: utente e informazioni aggiuntive
risposta
Django 1.5 ha extendable User models. Fondamentalmente, puoi estendere un modello utente di base astratto, aggiungere i tuoi campi e qualsiasi cosa e usarlo da lì.
Il modello base ha solo le basi per l'autenticazione: il campo password e un campo per l'ora dell'ultimo accesso. Devi persino creare il tuo campo nome utente. Se sei a tuo agio con qualcosa come l'attuale modello utente Django (con nome utente, nome, cognome, ecc.), Esiste anche come AbstractUser
e puoi estenderlo invece di AbstractBaseUser
e aggiungere i tuoi campi.
In django 1.5 è necessario creare un custom user model. I profili utente sono ora deprecati.
Dove dice che estendere il modello utente con un "profilo" è deprecato? Il documento "sviluppo" django docs e 1.7 documenti lo presentano entrambi come la prima soluzione, e AUTH_USER_MODEL ha alcuni avvertimenti e implicazioni piuttosto pesanti ... – GreenAsJade
"AUTH_PROFILE_MODULE' è [deprecato dal django 1.5] (https: //docs.djangoproject .com/it/1.6/ref/impostazioni/# auth-profilo-modulo). – dgel
- 1. Allegare informazioni aggiuntive ai campi modulo
- 2. autenticazione con Django 1.5
- 3. Django 1.5: Comprensione di AbstractBaseUser e autorizzazioni
- 4. Entrata in Django 1.5
- 5. django-registration app e Django 1.5 custom user model
- 6. Imposta posta elettronica come nome utente in Django 1.5
- 7. Ottieni informazioni utente in django templates
- 8. Django 1.5 è finalmente insicuro?
- 9. Django 1.5 indice pagina
- 10. Ottenere NameError con Django 1.5 e IPython
- 11. Informazioni aggiuntive SimpleCart con colonne personalizzate
- 12. Django 1.5: UserCreationForm & Custom Auth Model
- 13. Django 1.5 sostituisce il campo email abstractuser richiesto e univoco
- 14. django 1.5 admin inline extra
- 15. Sottoclassi forme django-registration 1.0 per modelli utente personalizzati django 1.5
- 16. Impossibile creare super-utente con modello di utente personalizzato in Django 1.5
- 17. Associazione di informazioni aggiuntive con Membership ASP.NET MVC
- 18. Django 1.5 Session Key è None
- 19. Django 1.5 - utilizzo del nuovo StreamingHttpResponse
- 20. Inversione di URL Django con opzioni aggiuntive
- 21. condizioni aggiuntive su join in django
- 22. Django release 1.5: 'url' richiede un primo argomento non vuoto. La sintassi cambiato in Django 1.5
- 23. Django 1.5. 'url' richiede un primo argomento non vuoto. La sintassi cambiato in Django 1.5
- 24. Elimina elementi da ListView in Django 1.5
- 25. Migrazione tag URL per Django 1.5
- 26. django 1.5 allowed_hosts aggiornamento mancanza SuspiciousOperation
- 27. Annotazione delle eccezioni con informazioni aggiuntive senza intercettarle
- 28. Posso includere un oggetto che trasporta informazioni aggiuntive nell'eccezione?
- 29. Come posso far funzionare Django 1.5 Custom User Model e Social Auth?
- 30. Popup Il volantino con informazioni aggiuntive da GeoJSON
Sì, l'ho letto sul documento. Ma non voglio implementare un AbstractBaseUser perché quello di cui ho bisogno è già in User. Devo solo aggiungere cose. Quindi, come codificarlo? – tapioco123
L'utente è fondamentalmente uguale a AbstractUser, ma con un attributo SWAPPABLE (qualunque esso sia) https://github.com/django/django/blob/master/django/contrib/auth/models.py#L457. Quindi fai in modo che il tuo modello erediti da AbstractUser. – justinas
Ho ereditato, ma su syncdb ho ottenuto gli errori follwing: CommandError: uno o più modelli non convalidati: account.user: Accessore per gli scontri "gruppi" del campo m2m con relativo campo m2m "Group.user_set". Aggiungi un argomento related_name alla definizione per "groups". account.user: Accessor per il campo m2m 'user_permissions' si scontra con il campo m2m correlato 'Permission.user_set'. Aggiungi un argomento related_name alla definizione per "user_permissions". auth.user: Accessor per i "gruppi" di m2m di campi in conflitto con il campo m2m correlato "Group.user_set". Aggiungi un argomento related_name alla definizione per "groups". – tapioco123