Wie füge ich der Django Admin-Site die Funktion "Passwort vergessen" hinzu? Mit E-Mail/Sicherheitsfrage Optionen? Gibt es ein Plug-in/eine Erweiterung?Hinzufügen der Funktion "Passwort vergessen" zur Django Admin-Site
Antwort
Sie sind alle im Django gebaut. Fügen Sie einfach die relevanten URL-Muster hinzu. Wie folgt.
from django.contrib.auth import views as auth_views
patterns+=('',
url(r'^passreset/$',auth_views.password_reset,name='forgot_password1'),
url(r'^passresetdone/$',auth_views.password_reset_done,name='forgot_password2'),
url(r'^passresetconfirm/(?P<uidb36>[-\w]+)/(?P<token>[-\w]+)/$',auth_views.password_reset_confirm,name='forgot_password3'),
url(r'^passresetcomplete/$',auth_views.password_reset_complete,name='forgot_password4'),
)
Und, oh, während Sie dabei sind, fügen Sie auch die Ansichten und URL-Muster für Passwort ändern.
url(r'^password/change/$',
auth_views.password_change,
name='auth_password_change'),
url(r'^password/change/done/$',
auth_views.password_change_done,
name='auth_password_change_done'),
Sie sind in der documentation natürlich aufgeführt.
Sie müssen Ihre eigenen Vorlagen bereitstellen.
Eigentlich seit Django 1.4 gibt es eine einfache Möglichkeit, das Passwort vergessen Link zu erhalten direkt im Admin-Login-Seite erscheinen (die wie die präzise Frage klingt gefragt):
https://docs.djangoproject.com/en/1.4/ref/contrib/admin/#auth-password-reset
Sie können eine hinzufügen Passwort-Reset-Funktion auf der Admin-Site durch Hinzufügen von ein paar Zeilen zu Ihrer URLconf. Insbesondere fügen Sie diese vier Muster:
url(r'^admin/password_reset/$',
'django.contrib.auth.views.password_reset',
name='admin_password_reset'), (r'^admin/password_reset/done/$',
'django.contrib.auth.views.password_reset_done'),
(r'^reset/(?P<uidb36>[0-9A-Za-z]+)-(?P<token>.+)/$',
'django.contrib.auth.views.password_reset_confirm'),
(r'^reset/done/$',
'django.contrib.auth.views.password_reset_complete'),
(Dies setzt voraus, Sie das Admin bei Admin hinzugefügt haben/und erfordert, dass Sie die URLs setzen mit^Admin Start/vor der Zeile, die enthält Admin-App selbst).
Changed in Django 1.4 Die Anwesenheit der admin_password_reset URL genannt wird dazu führen, ein „Passwort vergessen?“ Link auf dem Standard-Admin-Login-Seite unter dem Kennwort-Feld erscheint
- 1. Passwort vergessen Funktion fosuserbundle
- 2. OmniAuth + Identität Passwort vergessen
- 3. Django adminsite anpassen search_fields query
- 4. Passwort vergessen mit asp.net Identität
- 5. Passwort vergessen funktioniert nicht
- 6. Firebase Passwort vergessen Verwendung
- 7. Konto erstellen, Passwort vergessen und Passwort ändern
- 8. Senden vergessen Passwort E-Mail
- 9. Wie Passwort vergessen Layout wordpress
- 10. Django AdminSite - Schwierige oder einfache Implementierung?
- 11. Wie wird Flask-Security Passwort vergessen?
- 12. PassportJS/Passwort vergessen: req.user nur undefined einmal
- 13. heroku pg: Passwort vergessen Authentifizierung fehlgeschlagen
- 14. Was ist der beste Weg, um ein "Passwort vergessen?" Seite?
- 15. Django Benutzermodell, Funktion hinzufügen
- 16. wie Passwort in Django
- 17. Benutzerdefinierte Aktionen zur Django Admin-Startseite hinzufügen?
- 18. Django-Aktion zur installierten App hinzufügen
- 19. Django Passwort Probleme
- 20. Hinzufügen eines jQuery-Skripts zur Django-Verwaltungsschnittstelle
- 21. Rails - Devise Gem entfernen Registrieren und Passwort vergessen Module
- 22. Magento admin Passwort vergessen, keine auslösende E-Mail
- 23. Django Passwort ändern
- 24. Meine Apps sind bei Verwendung von benutzerdefiniertem AdminSite nicht sichtbar
- 25. Funktion berechnete Spalte zur Liste der Datenrahmen hinzufügen
- 26. Hinzufügen der Authentifizierung zur statischen Azure-Website
- 27. Reusing Django Changelist Außerhalb der Admin-Site
- 28. Django allauth Anmeldung ohne Passwort
- 29. Django: Anzahl der Ergebnisse hinzufügen
- 30. Passwort ändern in Django Admin
+1 Vielen Dank! Kommt es auch mit E-Mails? – Viet
Ja, es sendet auch die entsprechenden E-Mail-IDs. –
Wenn Sie die django-Registrierungs-App verwenden, müssen Sie nur die urls.py von django-registration hinzufügen, dh fügen Sie 'url (r '^ accounts /', include ('registration.urls'))' zu Ihrem hinzu eigene urls.py –