Ich habe ein Authentifizierungssystem basierend auf Django Auth, aber ich muss den Benutzern Informationen hinzufügen. Was ist der beste Weg, das in Django 1.5 zu tun? (In 1.4 habe ich ein Profil verwendet, das onetoone mit dem Benutzer verbunden ist, aber jetzt?)Django 1.5: Benutzer und zusätzliche Informationen
Antwort
Django 1.5 hat extendable User models. Grundsätzlich können Sie ein abstraktes Basisbenutzermodell erweitern, Ihre Felder und alles hinzufügen und von dort aus verwenden.
Das Basismodell hat nur die Grundlagen zur Authentifizierung - das Passwortfeld und ein Feld für die Zeit der letzten Anmeldung. Sie müssen sogar einen eigenen Benutzernamen erstellen. Wenn Sie mit etwas wie dem aktuellen Django-Benutzermodell (mit Benutzername, Vorname, Nachname usw.) vertraut sind, existiert es auch als AbstractUser
und Sie können es anstelle von AbstractBaseUser
erweitern und Ihre eigenen Felder hinzufügen.
In django 1.5 sollten Sie eine custom user model erstellen. Benutzerprofile sind jetzt veraltet.
Wo heißt es, dass die Erweiterung des Benutzermodells mit einem "Profil" veraltet ist? Die "Entwicklungs" -Django-Dokumente und 1.7-Dokumente stellen beide dies als erste Lösung dar, und AUTH_USER_MODEL kommt mit einigen ziemlich schweren Warnungen und Implikationen ... – GreenAsJade
'AUTH_PROFILE_MODULE' ist [veraltet ab django 1.5] (https: //docs.djangoproject .com/de/1.6/ref/settings/# auth-profile-modul). – dgel
- 1. geben openid Benutzer zusätzliche Informationen
- 2. Zusätzliche Informationen in der Django-Verwaltungsseite sammeln?
- 3. Benutzer mit django-allauth zusätzliche Daten hinzufügen
- 4. Wie in Django 1.5
- 5. Authentifizieren mit Django 1.5
- 6. Django 1.5: Verständnis von AbstractBaseUser und Berechtigungen
- 7. Zusätzliche Informationen mit Facebook API?
- 8. Wenn die benutzerdefinierten Benutzer Modell in Django verwenden 1.5
- 9. Django 1.5 Index-Seite
- 10. Anmeldung in Django 1.5
- 11. Django 1.5 Sitzungsschlüssel ist keine
- 12. Zusätzliche Informationen in einem ListView
- 13. Django-Registrierung App und Django 1.5 benutzerdefinierte Benutzermodell
- 14. benutzerdefiniertes Benutzermodell in django 1.5
- 15. PHP-Anwendung Facebook - konfigurieren Sie zusätzliche Informationen
- 16. django 1.5 admin inline extra
- 17. Django ohne zusätzliche Tabellen?
- 18. Django 1.5 - mit der neuen StreamingHttpResponse
- 19. Django Formular mit zusätzlichen Informationen
- 20. Löschen Artikel von Listview in Django 1.5
- 21. Erkundigung Benutzer Informationen, und nie wieder
- 22. Zwei XML-Dateien in Java zusammenführen und zusätzliche Informationen hinzufügen
- 23. Zusätzliche Low-Level-Informationen über PNG-Datei
- 24. Zusätzliche Informationen zu verbundenen Zeilen hinzufügen
- 25. Fehler bei URLs Viele zusätzliche Informationen
- 26. Zusätzliche Informationen mit .NET Enum verknüpfen
- 27. Zusätzliche Informationen mit überlappenden divs anzeigen. JQuery
- 28. Django Release 1.5: 'URL' erfordert ein nicht leeres erstes Argument. Die Syntax geändert in Django 1.5
- 29. Django 1.5. 'URL' benötigt ein nicht leeres erstes Argument. Die Syntax geändert in Django 1.5
- 30. django Modellattribut bearbeiten & speichern ohne zusätzliche Seite
Ja, ich habe das auf dem Dokument gelesen. Aber ich möchte keinen AbstractBaseUser implementieren, denn was ich brauche, ist bereits in User. Ich muss nur Dinge hinzufügen. Also, wie man das programmiert? – tapioco123
Benutzer ist im Grunde das gleiche wie AbstractUser, aber mit einem SWAPPABLE-Attribut (was auch immer es ist) https://github.com/django/django/blob/master/django/contrib/auth/models.py#L457. Machen Sie also Ihr eigenes Modell von AbstractUser. – justinas
Ich geerbt, aber auf Syncdb habe ich die folgenden Fehler: CommandError: Ein oder mehrere Modelle nicht validiert: account.user: Accessor für m2m Feld 'Gruppen' Konflikte mit verwandten m2m Feld 'Group.user_set'. Fügen Sie der Definition für 'Gruppen' ein Argument related_name hinzu. account.user: Accessor für m2m-Feld 'user_permissions' kollidiert mit dem zugehörigen m2m-Feld 'Permission.user_set'. Fügen Sie der Definition für 'user_permissions' ein Argument related_name hinzu. auth.user: Accessor für m2m Feld 'Gruppen' kollidiert mit verwandten m2m Feld 'Group.user_set'. Fügen Sie der Definition für 'Gruppen' ein Argument related_name hinzu. – tapioco123