Back-End/Django

[Django] 사용자 입력 값 db 중복 체크

uni2237 2021. 1. 25.
728x90
728x90

참고블로그)

ssungkang.tistory.com/entry/javascript-%ED%9A%8C%EC%9B%90%EA%B0%80%EC%9E%85-%EC%8B%9C-%EC%95%84%EC%9D%B4%EB%94%94-%EC%A4%91%EB%B3%B5-%ED%99%95%EC%9D%B8%ED%95%98%EA%B8%B0-ajax

 

자바스크립트 함수)

function project_name_check(){

    $('#user_id').change(function () {
        $('#user_id').attr("check_result", "fail");
      })

    var user_id=$("#user_id").val()

    $.ajax({
        url: 'do_duplicate_check',
        data: {'user_id': user_id},
        datatype: 'json',

        success: function (data) {

          // 중복 있음
          if (data['duplicate'] == "fail") {
            //중복인 경우 처리
            return false;

          } else { // 중복 없음
            //중복 아닌 경우 처리
            return ;
          }
        }
      });
    
}

 

django view 함수)

def do_duplicate_check(request):
    print('아이디 중복 체크')
    user_id = request.GET.get('user_id')
    try:
        # 중복 검사 실패
        _id = UserDataTable.objects.get(user_id=user_id)
    except:
        # 중복 검사 성공
        _id = None
    if _id is None:
        duplicate = "pass"
    else:
        duplicate = "fail"
    context = {'duplicate': duplicate}
    return JsonResponse(context) 

UserDataTable은 models.py에서 import 한 것입니다.

728x90

댓글