나는 아주 작은 Django 앱을 가지고 있습니다. 장고가 제공하는 inbuilt User 모델을 사용하고 있습니다. 이 기능을 배우기 위해 관리자 패널에 갈 필요없이 사용자를 만들고 편집 할 수있는 페이지를 만들었습니다.비밀번호 유효성 확인 (Django/Python)
등록 페이지를 통해보기로 POST 할 때 user_form.is_valid()
을 사용하여 입력란이 올바른지 확인할 수 있습니다 (사용자 이름이 30 자 미만이고 비밀번호가 다음보다 작음). 128, 기타 조건 ...).
내 편집 페이지의 경우 콘텐트를 좀 더 응답 성있게 만들고 싶었 기 때문에 JQuery를 통해 AJAX 요청을 사용하여 페이지를 다시로드하지 않고도 작업을 수행 할 수있었습니다. 이 잘 작동하지만, 내가 양식을 전송하고 있지 않다, 나는 그냥 쿼리를 골라와 같은 Ajax 요청에 보내 자바 스크립트를 사용하고, 유효성을 확인하는 문제로 날 떠나 수행합니다
$.get('/dms/edit_user_changeuser/', {inputNameSend : $("#inputname").val(), usernameToSend : $("#usernameID").val(), emailToSend : $("#emailID").val(),passwordToSend : $("#passwordID").val(), disabledToSend : checkedVal}, function(data){
if(data != "success"){
$("#errorDisplay").show();
}else{
$("#savedDisplay").show();
$("#user_form").hide();
}
});
는 그리고 이것은 관련보기가 처리하는 방법입니다 : 입력이 유효 가정
@login_required
def user_edit_changeuser(request):
# Like before, get the request's context.
context = RequestContext(request)
inputname = request.GET['inputNameSend']
newUsername = request.GET['usernameToSend']
newEmail = request.GET['emailToSend']
newPassword = request.GET['passwordToSend']
if(request.GET['disabledToSend'] == "true"):
disabledBool = False
else:
disabledBool = True
try:
user_obj = User.objects.get(username=inputname)
print("retUser")
user_obj.username = newUsername
user_obj.email = newEmail
user_obj.is_active = disabledBool
user_obj.set_password(newPassword)
user_obj.save()
print(str(disabledBool))
return HttpResponse("success")
except Exception, e:
return HttpResponse(str(e))
이 모든 일을하지만, 수동으로 유효성을 확인하는 User.checkValidPassword(newPassword)
같은 뭔가가있다?
https://docs.djangoproject.com/en/1.3/topics/auth/#manually-checking-a-user-s-password – dm03514