사용자 비밀번호 재설정을위한 양식을 만들고 싶었습니다. current_password
, 그 다음에 new_password
및 confirm_new_password
이 있어야합니다. 새 암호가 일치하는지 확인하기 위해 유효성 검사를 수행 할 수 있습니다. current_password
의 유효성을 어떻게 확인할 수 있습니까? User
개체를 양식에 전달할 수 있습니까?Django + 비밀번호 재설정 양식
5
A
답변
6
장고는 당신이 가져보기에 사용할 수 PasswordChangeForm
내장되어 있습니다.
from django.contrib.auth.forms import PasswordChangeForm
하지만 비밀번호 재설정보기를 직접 작성하지 않아도됩니다. 뷰 django.contrib.with.views.password_change
과 django.contrib.auth.views.password_change_done
이 있으며 URL 구성에 바로 연결할 수 있습니다.
0
좋은 예를 발견 : [편집]
내가 위의 링크를 사용하고 몇 가지 변경을
http://djangosnippets.org/snippets/158/. 그들은 여기에 다음과 같습니다 :
class PasswordForm(forms.Form):
password = forms.CharField(widget=forms.PasswordInput, required=False)
confirm_password = forms.CharField(widget=forms.PasswordInput, required=False)
current_password = forms.CharField(widget=forms.PasswordInput, required=False)
def __init__(self, user, *args, **kwargs):
self.user = user
super(PasswordForm, self).__init__(*args, **kwargs)
def clean_current_password(self):
# If the user entered the current password, make sure it's right
if self.cleaned_data['current_password'] and not self.user.check_password(self.cleaned_data['current_password']):
raise ValidationError('This is not your current password. Please try again.')
# If the user entered the current password, make sure they entered the new passwords as well
if self.cleaned_data['current_password'] and not (self.cleaned_data['password'] or self.cleaned_data['confirm_password']):
raise ValidationError('Please enter a new password and a confirmation to update.')
return self.cleaned_data['current_password']
def clean_confirm_password(self):
# Make sure the new password and confirmation match
password1 = self.cleaned_data.get('password')
password2 = self.cleaned_data.get('confirm_password')
if password1 != password2:
raise forms.ValidationError("Your passwords didn't match. Please try again.")
return self.cleaned_data.get('confirm_password')
관련 문제
- 1. Django : 비밀번호 재설정 이메일 제목 줄에 'example.com
- 2. Django 1.0, 기본 비밀번호 재설정 사용
- 3. SugarCRM 6.5 비밀번호 재설정
- 4. 비밀번호 재설정 Drupal 7
- 5. ASP.NET 멤버쉽 비밀번호 재설정
- 6. 비밀번호 재설정 링크 만료
- 7. 장고에서 비밀번호 재설정
- 8. Node.js에서 비밀번호 재설정 구현
- 9. 비밀번호 재설정 전략
- 10. CakePHP 비밀번호 재설정 비밀번호 변경 안 함
- 11. 비밀번호 재설정 코드가 잘못 되었습니까?
- 12. Django : 비밀번호 재설정/변경 후 사용자 세션을 파괴하는 방법은 무엇입니까?
- 13. Django 이메일 비밀번호 재설정 흐름 : 특수 문자를 허용하지 않습니다.
- 14. Oracle Apex 관리자 비밀번호 재설정
- 15. node.js에 비밀번호 재설정 토큰 생성
- 16. 비밀번호 재설정 및 사용자 잠금
- 17. 비밀번호 재설정 url in asp.net
- 18. Asp.Net 회원 비밀번호 기호없이 재설정
- 19. LDAP에 비밀번호 재설정 질문 저장
- 20. Symfony 1.4에서 사용자 비밀번호 재설정
- 21. 폼 인증 asp.net에서 사용자 비밀번호 재설정 C#
- 22. 비밀번호 재설정 스크립트는 절반 만 실행합니다.
- 23. Python의 비밀번호 재설정 토큰 Google App Engine
- 24. php 양식 - onsubmit 재설정 양식
- 25. 사용자가 hashed_password를 설정 한 비밀번호 재설정
- 26. PHP 비밀번호 재설정 토큰입니다. 재설정 된 URL을 파싱 하시겠습니까?
- 27. 아약스의 비밀번호 양식 필드
- 28. 양식 3 또는 4 무작위 비밀번호 비밀번호 (비밀번호) PHP
- 29. JQuery로 양식 재설정 문제
- 30. 뒤로 버튼의 양식 재설정
제 목적으로는 작동하지 않습니다. 이후 나는 많은 다른 것들을 포함하는 형태로 비밀 번호 재설정을 결합 해요. 그러나 이것이이 사용 사례를위한 올바른 방법 일 것입니다. – KVISH
@KVISH 매우 늦은 주석이지만 기록을 위해, HTML'