zoukankan      html  css  js  c++  java
  • 【转】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 requests.method == 'POST':
            print("the POST method")
            postAll = requests.POST
            postBody = requests.body
            print(postAll)
            postBodyStr = postBody.decode('utf-8')
            print(postBodyStr)
    

     相关结果

    the POST method
    <QueryDict: {'b': ['2'], 'a': ['1']}>
    a=1&b=2

     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 requests.method == 'POST':
            print("the POST method")
            postAll = requests.POST
            postBody = requests.body
            print(postAll)
            postBodyStr = postBody.decode('utf-8')
            json_result = json.loads(postBodyStr)
            print(json_result)
            print('-'*100)
            print(json_result.get("name"))
    

     相关结果:

    the POST method
    <QueryDict: {}>
    {'name': 'baoshan'}
    ----------------------------------------------------------------------------------------------------
    baoshan
    

    【参考】:http://www.cnblogs.com/zhangdewang/p/9222952.html

  • 相关阅读:
    洛谷P3959 宝藏(模拟退火乱搞)
    POJA Star not a Tree?(模拟退火)
    HDU 2899Strange fuction(模拟退火)
    洛谷P2062 分队问题(dp)
    主定理与时间复杂度
    android工程混淆和反编译
    查看linux内存、cpu
    Android sqlite数据库存取图片信息
    深入浅出JSONP--解决ajax跨域问题
    分析WordPress主题结构是如何架构的?
  • 原文地址:https://www.cnblogs.com/zhzhang/p/9313631.html
Copyright © 2011-2022 走看看