当前位置: 首页 > 编程笔记 >

django中使用POST方法获取POST数据

柴嘉年
2023-03-14
本文向大家介绍django中使用POST方法获取POST数据,包括了django中使用POST方法获取POST数据的使用技巧和注意事项,需要的朋友参考一下

在django中获取post数据,首先要规定post发送的数据类型是什么。

1.获取POST中表单键值数据

如果要在django的POST方法中获取表单数据,则在客户端使用JavaScript发送POST数据前,定义post请求头中的请求数据类型:

xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

在django的views.py相关方法中,需要通过request.POST获取表单的键值数据,并且可以通过reques.body获取整个表单数据的字符串内容

if(request.method == 'POST'):
    print("the POST method")
    concat = request.POST
    postBody = request.body
    print(concat)
    print(type(postBody))
    print(postBody)

相关日志:

the POST method
<QueryDict: {u'username': [u'abc'], u'password': [u'123']}>
<type 'str'>
username=abc&password=123

2.获取POST中json格式的数据

如果要在django的POST方法中获取json格式的数据,则需要在post请求头中设置请求数据类型:

xmlhttp.setRequestHeader("Content-type","application/json");

在django的views.py中导入python的json模块(import json),然后在方法中使用request.body获取json字符串形式的内容,使用json.loads()加载数据。

if(request.method == 'POST'):
    print("the POST method")
    concat = request.POST
    postBody = request.body
    print(concat)
    print(type(postBody))
    print(postBody)
    json_result = json.loads(postBody)
    print(json_result)

相关日志:

the POST method
<QueryDict: {}>
<type 'str'>
{"sdf":23}
{u'sdf': 23}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 问题内容: 我将在Django中从AJAX请求中获取参数,这是我正在做的事情: base.html: main.js: views.py: 是的,我知道目前我的JS无法从文本形式获取真实数据,它仅发送静态文本“ MY TEXT”。但是当我按下按钮时,出现 “ MultiValueDictKeyError at /在“”中找不到“键’name’” 我做错了什么? 我更改了代码:main.js bas

  • 问题内容: 我有以下django模板(将http:// IP / admin / start /分配给一个名为view的假设视图): 是视图中引用的Django模型的。每当单击“开始”提交输入时,我都希望“开始”视图在返回渲染页面之前使用函数中的数据。如何将POST(在本例中为隐藏输入)中发布的信息收集到Python变量中? 问题答案: 另外,你的隐藏字段还需要一个可靠的名称,然后是一个值: 然后

  • 问题内容: 我正在尝试使用fetch发布 JSON对象。 据我了解,我需要将一个字符串化的对象附加到请求的主体,例如: 当使用jsfiddle的json回显时,我希望看到返回的对象(),但这不会发生-chrome devtools甚至不会在请求中显示JSON,这意味着它没有被发送。 问题答案: 借助ES2017 支持,这是如何实现JSON负载的方法: 但是,问题是由 很久以来修复的chrome b

  • 可以使用方法从服务器获取数据,使用方法将数据发布到服务器吗?

  • 本文向大家介绍在Perl中使用POST方法,包括了在Perl中使用POST方法的使用技巧和注意事项,需要的朋友参考一下 将信息传递到CGI程序的一种更可靠的方法是 POST方法。这将以与GET方法完全相同的方式打包信息,但不是在?之后将其作为文本字符串发送。在URL中,它将作为单独的消息作为HTTP标头的一部分发送。Web服务器以标准输入的形式将此消息提供给CGI脚本。 以下是Perl脚本hell

  • 本文向大家介绍Node.JS获取GET,POST数据之queryString模块使用方法详解,包括了Node.JS获取GET,POST数据之queryString模块使用方法详解的使用技巧和注意事项,需要的朋友参考一下 无论是前端还是后端,经常出现的应用场景是URL中参数的处理。nodeJS的queryString模块提供了一些处理 query strings 的工具。本文将详细介绍nodeJS中