Python-Django Ответить текст ошибки

-1

Как я могу ответить на текст ошибки проверки на мой шаблон с помощью Ajax?

def create_user(request):
    if request.method == 'POST':
        is_super = True
        if request.POST.get('is_super') in 'false':
            is_super = False
        if request.POST.get('password') == request.POST.get('confirm'):
            user = User.objects.create(first_name=request.POST.get('first_name'),
                                       last_name=request.POST.get('second_name'),
                                       username=request.POST.get('username'),
                                       is_superuser=is_super,
                                       date_joined=datetime.now())
            user.set_password(request.POST.get('password'))
            user.save()
        else:
            raise forms.ValidationError("Passwords doesn't match")
        return HttpResponse('')
  • 2
    Первое, что нужно сделать IMHO, - это научиться правильно использовать формы и валидацию форм в представлении и как заставить все это работать без ajax. Как только у вас получится работать с каноническим (без ajax) делом, пора задуматься, как заставить его работать и с ajax.
  • 0
    Вы не должны вызывать ошибки проверки в представлении. Вы поднимаете их в форме, и представление отправляет форму - вместе с атрибутом errors - в шаблон.
Теги:

1 ответ

0
def create_user(request):
    if request.method == 'POST':
        is_super = True
        if request.POST.get('is_super') in 'false':
            is_super = False
        if request.POST.get('password') == request.POST.get('confirm'):
            user = User.objects.create(first_name=request.POST.get('first_name'),
                                       last_name=request.POST.get('second_name'),
                                       username=request.POST.get('username'),
                                       is_superuser=is_super,
                                       date_joined=datetime.now())
            user.set_password(request.POST.get('password'))
            user.save()

        else:
            return HttpResponse(json.dumps({'error': True, 'message': 'Password and confirm password doesnt match'}))'            
        return HttpResponse('')

Вам нужно показать приведенное выше сообщение об ошибке "Пароль и подтверждение пароля не соответствует" в HTML с помощью JQuery.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню