Jak mogę logicznie logować użytkownika w Django? Mam nazwę użytkownika i hasło użytkownika. Czy istnieje metoda, która pozwala mi się zalogować?Jak programowo uwierzytelnić użytkownika w Django?
21
A
Odpowiedz
27
Nie ma innej drogi niż "programowo". Oczywiście jest to documented.
from django.contrib.auth import authenticate, login
user = authenticate(username = username, password = password)
if user is not None:
login(request, user)
5
zawsze dostawaliśmy być ostrożnym przy programowo logowania użytkowników w, można dostać ten błąd "user has no attribute "backend"
. Musisz też ustawić backend, jeśli nie było to wcześniej. Project that uses this a niektóre przykładowy kod:
def splash_register(request):
if request.session.get('beta'):
if request.method=='POST':
userform=MyUserCreationForm(request.POST)
if userform.is_valid():
#username of <30 char is required by Django User model. I'm storing username as a hash of user email
user=userform.save(commit=False)
user.username=hash(user.email)
user.backend='django.contrib.auth.backends.ModelBackend'
user.save()
username=user.username
password=str(userform.cleaned_data['password'])
auth.login(request, user)
request.session['first_visit']=True
return HttpResponseRedirect("/")
else:
userform=MyUserCreationForm(request.POST)
return render_to_response("website/splash_register.html", {'userform':userform}, context_instance=RequestContext(request))
return render_to_response("website/splash_register.html", context_instance=RequestContext(request))
else:
return HttpResponseRedirect('/splash/')
Powiązane problemy
- 1. Jak uwierzytelnić użytkownika między ASP.NET i WCF?
- 2. Jak uwierzytelnić użytkownika w ActiveDirectory przy użyciu powershell
- 3. Jak ponownie uwierzytelnić użytkownika w aplikacji ASP.Net MVC 3 _Intranet_?
- 4. Jak utworzyć użytkownika w Django?
- 5. Jak uwierzytelnić się w CRM 2011?
- 6. programowo wylogować "konkretnego" użytkownika
- 7. Jak utworzyć użytkownika admin w django tests.py
- 8. Jak uzyskać identyfikator użytkownika aktualnie zalogowanego użytkownika w Django?
- 9. Przechowywanie działań użytkownika w Django
- 10. Jak programowo usunąć zainstalowany certyfikat użytkownika?
- 11. Jak uwierzytelnić się w interfejsie API GoodData?
- 12. modelowanie ustawień użytkownika w django
- 13. Nie można uwierzytelnić na MongoDB w PHP
- 14. Jak stworzyć proces Django ViewFlow programowo
- 15. Model użytkownika Django Oauth
- 16. Uwierzytelnianie użytkownika MongoEngine (django)
- 17. Jak poprawnie uwierzytelnić klienta AngularJS na serwerze
- 18. AWS: Jak prawidłowo uwierzytelnić użytkownika w Cognito Pool i użyć go do tożsamości federacyjnej Cognito?
- 19. Jak uwierzytelnić użytkownika w Web API 2, gdy jest częścią starej aplikacji ASP.NET MVC?
- 20. Django - Utwórz profil użytkownika podczas tworzenia użytkownika
- 21. PHPMailer - Nie można uwierzytelnić
- 22. Uzyskaj bieżący sygnał logowania użytkownika w Django
- 23. Django: data ostatniego odwiedzin użytkownika
- 24. niestandardowy model użytkownika w django 1.5
- 25. Obraz użytkownika sklepu Django w modelu
- 26. Django 1.5 + Relacja modelu użytkownika
- 27. Utwórz system powiadamiania użytkownika w Django
- 28. Jak uwierzytelnić instagram bez przekierowania? no server
- 29. Django przechowywania anonimowych danych użytkownika
- 30. Połączyć się z modelem użytkownika w Django
Re Twój komentarz rewizyjnej: [PEP 8] (http://www.python.org/dev/peps/pep-0008/#other-recommendations) zaleca pomijając spacje wokół ' = 'w argumentach słów kluczowych, ale oczywiście możesz robić co chcesz. – icktoofay
@icktoofay Jestem świadomy tego, co zaleca PEP 8. (To nie jest dobra rekomendacja) –
@CatPlusPlus Naprawdę uważasz, że jest to zła rekomendacja? To dziwne z twojej strony. – jdg