Django rest framework, недопустимый сериализатор при отправке через Angular - PullRequest
0 голосов
/ 20 мая 2018

У меня проблема с тем, что когда я отправляю запрос на отправку из моего приложения Angular, обслуживаемого через Django, я получаю недопустимые сериализаторы, даже если вывод правильный.

Я сохраняю в журнале отправленные данные:

{"email":"example@gmail.com","username":"example","password":"plaintextforthisexample","confirm_password":"plaintextforthisexample"}

Что дает мне ответ «Плохой запрос» (который я установил, когда serializer.is_valid() равен false).

Однако, если я скопирую и вставлю то, что находится в консоли, войдите вAPI для просмотра в режиме необработанных данных принимает его и создает пользователя.

Я могу успешно отправить get-requests в тот же API и получить данные обратно, а разрешения для получения и сообщений одинаковы, хотя этоприведет к другому типу ошибки.Тип контента также правильный, когда нет, я получаю 415. Если URL неправильный, я получаю 500. И я могу видеть в журнале сервера Django, что поступают запросы на публикацию. Может ли это быть, потому что я запускаю его?из углового шаблона, а не из Django?

РЕДАКТИРОВАТЬ:

Изображение консоли: enter image description here

1 Ответ

0 голосов
/ 21 мая 2018

Проблема 1: зарегистрированный вывод консоли, который работал в Django, не был фактически отправленным, что привело к ошибке JSONParse.Это выглядело примерно так

function(formobject){
let payload = JSON.stringify(formobject)
console.log(payload)

return formobject

Проблема 2: Теперь Django выдает мой пользовательский ответ по прибытии:

Status:'Bad Request' Message:'Data does not fullfill requirements for creating a user'

И не позволяет мне копироватьвставьте вывод JSON из консоли в форму необработанных данных API.

Решено, если не использовать тот же пароль, который я использовал около 15 попыток.Кажется, Django обнаруживает общие пароли, еще не полностью протестирован.

...