django-e-as-gebruikersnaam is een Django app die u toelaat om gebruikers te behandelen als het hebben van alleen e-mailadressen, in plaats van gebruikersnamen.
- Zorgt voor een e-mail auth backend en helper functies voor het maken van gebruikers.
- Herstelt de Django admin om e-mail gebaseerde authenticatie van de gebruiker af te handelen.
- Overides de createsuperuser commando om gebruikers met alleen e-mail te creëren.
- Behandelt e-authenticatie als niet hoofdlettergevoelig.
installatie
Installeren vanaf PyPI:
pip django-e-as-gebruikersnaam te installeren
Zet 'emailusernames' te INSTALLED_APPS.
INSTALLED_APPS = (
& Nbsp; ...
& Nbsp; 'emailusernames',
)
Stel EmailAuthBackend als uw authenticatie backend:
AUTHENTICATION_BACKENDS = (
& Nbsp; 'emailusernames.backends.EmailAuthBackend',
)
Gebruik
Het creëren van gebruikers
U moet gebruikers met behulp van de create_user en create_superuser functies te creëren.
van emailusernames.utils importeren create_user, create_superuser
create_user ('me@example.com ',' wachtwoord ')
create_superuser ('admin@example.com ',' wachtwoord ')
Het ophalen van gebruikers
U kunt gebruikers op te halen, met behulp van niet hoofdlettergevoelig e-matching, met de get_user functie. Op dezelfde manier kunt u user_exists gebruiken om te testen of een bepaalde gebruiker bestaat.
van emailusernames.utils importeren get_user, user_exists
user = get_user ('someone@example.com ')
...
Als user_exists ('someone@example.com):
& Nbsp; ...
Gebruikers updaten
U kunt e-mail van een gebruiker te werken en op te slaan de instantie, zonder dat u ook de gebruikersnaam te wijzigen.
user.email = 'other@example.com'
user.save ()
Merk op dat het attribuut user.username altijd zal terugkeren het e-mailadres, maar achter de schermen wordt dit opgeslagen als een hash versie van e-mail van de gebruiker.
Authenticatie van gebruikers
U moet e-mail en wachtwoord trefwoord args gebruiken in gesprekken te authenticeren, in plaats van de gebruikelijke gebruikersnaam en wachtwoord.
van django.contrib.auth import authenticeren
user = authenticate (email='someone@example.com ', wachtwoord =' wachtwoord ')
als de gebruiker:
& Nbsp; ...
anders:
& Nbsp; ...
Gebruiker Formulieren
emailusernames biedt de volgende formulieren die u kunt gebruiken voor verificatie, het creëren en updaten van gebruikers:
- Emailusernames.forms.EmailAuthenticationForm
- Emailusernames.forms.EmailAdminAuthenticationForm
- Emailusernames.forms.UserCreationForm
- Emailusernames.forms.UserChangeForm
Met behulp van Django's ingebouwde login view
Als u gebruikmaakt van django.contrib.auth.views.login in uw urlconf, zult u willen ervoor zorgen dat u door EmailAuthenticationForm als een argument om het uitzicht.
urlpatterns = patronen ('',
& Nbsp; ...
& Nbsp; url (r '^ auth / login $', 'django.contrib.auth.views.login',
& Nbsp; {'authentication_form': EmailAuthenticationForm}, naam = 'login'),
& Nbsp; ...
)
Eisen
- Python
- Django
Reacties niet gevonden