Django休息框架,序列化程序通过Angular

时间:2018-05-20 19:19:39

标签: python django angular post

我遇到问题,当我通过Django通过我的Angular应用程序发出帖子请求时,即使输出正确,我也会得到无效的序列化器。

我控制台记录发送的数据:

{"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 :(得分:0)

问题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检测到常见密码,尚未经过全面测试。