Как правильно сериализовать в Django или обработать в JS?

Доброго времени суток.
Пытаюсь сериализовать form.error.items() во вью и обработать это js:

if user_form.is_valid():
\\....
else:
    data = dict([(k, [e for e in v]) for k,v in user_form.errors.items()])
    return JsonResponse(data)


Когда обрабатываю на клиентской стороне то получаю проблему, т.к. json не валидный:
{"username": ["A user with that username already exists."]}
Поскольку []

success : function(json) {
            if (json.redirect){
            window.location.href = json.redirect;
            }
            $('.form-control').val('');
            var error = jQuery.parseJSON(data);
            $("#error").html(error.username);
            },
  • Вопрос задан
  • 242 просмотра
Решения вопроса 1
@marazmiki
Укротитель питонов
Это вполне валидный JSON. Просто джанга так устроена, что возвращает список всех сообщений об ошибках, произошедших при валидации поля.

Проще всего смириться и писать
$("#error").html(error.username[0]);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы