Как разделить работу с кнопками в javascript и Django?
Я сделал страницу формы регистрации, используя Django. Когда я заполняю форму регистрации, данные попадают в базу данных. Но, когда я нажимаю кнопку проверки электронной почты, кнопка регистрации также нажимается и страница перезагружается. Как я могу разделить эти две кнопки?
$('.email-check-btn').click(function (){
const email = $('#email').val()
if (email === ''){
alert('please check the form')
}
$.ajax({
type: 'GET',
url: 'email-check?email=' + email,
datatype: 'json',
success: function (response){
if (response.result !== 'success') {
alert(response.data)
return
}
if (response.data === 'exist') {
alert('that email is already exist!')
$('#email').val('').focus()
} else {
alert('good, you can use it!!')
}
}
})
})
def email_check(request):
try:
user = get_user_model().objects.get(email=request.GET['email'])
except Exception as e:
user = None
result = {
'result': 'success',
'data': 'not exist' if user is None else 'exist'
}
return JsonResponse(result)
def sign_up(request):
if request.method == 'GET':
user = request.user.is_authenticated
if user:
return redirect('/main')
else:
return render(request, 'sign_in_and_up.html')
elif request.method == 'POST':
user_id = request.POST.get('username', '')
password = request.POST.get('password', '')
password2 = request.POST.get('password2', '')
nickname = request.POST.get('nickname', '')
email = request.POST.get('email', '')
if password != password2:
return render(request, 'sign_in_and_up.html', {'error': 'check your password'})
else:
if user_id == '' or password == '' or nickname == '' or email == '':
return render(request, 'sign_in_and_up.html', {'error': 'fill in all the blank'})
exist_user = get_user_model().objects.filter(username=user_id)
if exist_user:
return render(request, 'sign_in_and_up.html', {'error': 'already exist'})
else:
UserModel.objects.create_user(username=user_id, password=password, nickname=nickname, email=email)
return render(request, 'sign_in_and_up.html')