Làm cách nào để đăng nhập người dùng theo chương trình ở Django? Tôi có tên người dùng và mật khẩu của Người dùng. Có phương pháp nào để tôi đăng nhập anh ấy không?Làm cách nào để xác thực người dùng ở Django?
21
A
Trả lời
27
Không có cách nào khác ngoài "lập trình". Tất nhiên, đây là documented.
from django.contrib.auth import authenticate, login
user = authenticate(username = username, password = password)
if user is not None:
login(request, user)
5
Alsways cẩn thận khi lập trình đăng nhập người dùng, bạn có thể gặp lỗi ´ user has no attribute "backend"
. Bạn cũng phải thiết lập backend nếu điều đó không xảy ra trước đó. Project that uses this và một số mẫu mã:
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/')
Các vấn đề liên quan
- 1. Làm cách nào để xác thực người dùng trong ứng dụng Nút bằng xác thực Django?
- 2. Làm cách nào để tạo người dùng ở Django?
- 3. Xác thực người dùng Django: django_auth_ldap.backend.LDAPBackend
- 4. Xác thực, xác thực người dùng và Django-ngonpie
- 5. Làm cách nào để thực hiện DetailView của người dùng ở Django?
- 6. Lấy Người dùng Nhập để tạo Người dùng ở Django
- 7. Cách tốt nhất để đăng ký người dùng ở Django
- 8. Làm cách nào để tạo khóa ngoài cho bảng Người dùng ở Django?
- 9. Ở Django, làm cách nào để đặt trường người dùng thành biểu mẫu cho người dùng hiện đã đăng nhập?
- 10. Django: nhập người dùng xác thực vào mô hình
- 11. Cách sử dụng email thay vì tên người dùng để xác thực người dùng?
- 12. Làm cách nào để thực hiện một cuộc khảo sát người dùng có thể tùy chỉnh ở Django
- 13. Đăng xuất người dùng Django bằng xác thực từ xa
- 14. Làm cách nào để gửi email đến 10.000 người dùng ở Django?
- 15. Xác thực người dùng Flask
- 16. Cách nhận id người dùng hiện đang đăng nhập của người dùng ở Django?
- 17. Xác thực người dùng trong Pyramid
- 18. Xác thực người dùng Silverlight
- 19. tay người dùng xác thực
- 20. Trong C#, làm cách nào để xác thực người dùng trên máy mạng?
- 21. Nhiều loại người dùng cho Auth ở Django
- 22. Django người dùng cuối được xác định các trường, làm thế nào để?
- 23. Tìm hiểu người dùng hiện đang đăng nhập ở Django
- 24. backbone.js + require.js + xác thực người dùng
- 25. Làm cách nào để xác thực người dùng trong PHP/MySQL?
- 26. Làm cách nào để xác thực lại người dùng trong ứng dụng ASP.Net MVC 3 _Intranet_?
- 27. Làm cách nào để đăng ký và xác thực người dùng trong PHP bằng ArangoDB?
- 28. Làm cách nào để thay đổi thông tin xác thực người dùng trong Subclipse?
- 29. Làm cách nào để xác thực người dùng trong WebSocket 2.0 của Play?
- 30. Làm cách nào để xác thực người dùng trong dịch vụ web REST?
Re bình luận sửa đổi của bạn: [PEP 8] (http://www.python.org/dev/peps/pep-0008/#other-recommendations) khuyến cáo bỏ qua không gian xung quanh ' = 'trong các đối số từ khóa, nhưng tất nhiên bạn tự do làm bất cứ điều gì bạn muốn. – icktoofay
@icktoofay Tôi biết rõ những gì PEP 8 đề xuất. (Nó không phải là một khuyến nghị tốt) –
@CatPlusPlus Bạn thực sự nghĩ rằng đó là một khuyến nghị xấu? Thats kỳ quặc của bạn. – jdg