如何对多个键使用request.POST.get()

How to use request.POST.get() with multiple keys

本文关键字:POST request get      更新时间:2023-09-26

我甚至不知道该怎么说,我敢肯定这是一个可笑的愚蠢的问题,但这里。

在我的模态的html页面,我正在做:

var user = $("#signup-form").serialize();
$.post("/signup/",
               { user : user,
                 csrfmiddlewaretoken : '{{ csrf_token }}' }

现在,在views.py中,我不知道如何获得user的各个方面(在本例中是姓,名等)

user = request.POST.get('user')

但是似乎没有办法把其他键拉出来,如果这有意义的话。

谢谢。

在您的代码中,看起来表单数据在user参数中序列化,这可能不是您想要的。

一个典型的模式是包含表单中的所有字段(包括csrfmiddlewaretoken作为隐藏字段),并将序列化的表单作为数据发送。例如
<input type="hidden" name="csrfmiddlewaretoken" value="{{ csrf_token }}"/>

在javascript中:

var form_data = $("#signup-form").serialize();
$.post("/signup/", form_data);

在Django视图中,你可以直接从request.POST中提取表单字段,或者构建一个Django form来为你处理。