Django接收post前端返回的json格式数据代码实现

yipeiwu_com6年前Python基础

post接收字符串

def subscription(request):
  msg = request.POST.get('msg')
  # tel_no = request.POST.get('tel_no')
  # email = request.POST.get('email')
  # ico_id = request.POST.get('ico_id')

  data = base64.b64decode(msg)
  data = data.decode('utf-8')
  data = json.loads(data)
  client = pymongo.MongoClient(host = 'localhost',port = 27017)
  db = client.users
  my_set = db.user
  if 'ico_id' not in data.keys():
    return HttpResponse(json.dumps({"result_code":1}))

  result_code = my_set.insert({"tel_no":data.get('tel_no'),"email":data.get('email'),"ico_id":data.get('ico_id'),'date':datetime.datetime.now()})
  return HttpResponse(json.dumps({"result_code":0}))

post接收json格式

def selectedico(request):

  if request.method == 'POST':
    web_id = json.loads(request.body.decode().replace("'", "\"")).get('id')
    client = pymongo.MongoClient(host = 'localhost',port = 27017)
    db = client.webdata
    my_set = db.webchinadata
    values = []
  #print(web_id)
    print(request.body.decode())
  
    for val in my_set.find():
    # value = value.decode('utf-8')
    # val = json.loads(value)
      val["_id"] = str(val["_id"])
      val["date"] = str(val["date"])
      discount = (''.join(val["discounts"])).split('\n')
      dis = [x.strip(' ') for x in discount if x != '']
      val["discounts"] = dis
      val["accept_coins"] = val["accept_coins"].split(",")
      details = (''.join(val["details"])).replace('\n','')
      val["details"] = details
    #print(val["_id"])
      if val["_id"] == web_id:
        values.append(val)

    return HttpResponse(json.dumps(values,ensure_ascii=False),content_type="application/json;charset=utf-8")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python使用pil生成图片验证码的方法

本文实例讲述了python使用pil生成图片验证码的方法。分享给大家供大家参考。具体实现方法如下: # -*- coding: utf-8 -*- #导入三个模块 import Im...

超简单的Python HTTP服务

超如果你急需一个简单的Web Server,但你又不想去下载并安装那些复杂的HTTP服务程序,比如:Apache,ISS等。那么, Python 可能帮助你。使用Python可以完成一个...

Numpy数组的保存与读取方法

1. 数组以二进制格式保存 np.save和np.load是读写磁盘数组数据的两个主要函数。默认情况下,数组以未压缩的原始二进制格式保存在扩展名为npy的文件中,以数组a为例 np....

python操作mysql中文显示乱码的解决方法

本文实例展示了一个脚本python用来转化表配置数据xml并生成相应的解析代码。 但是在中文编码上出现了乱码,现将解决方法分享出来供大家参考。 具体方法如下: 1. Python文件设置...

Python2随机数列生成器简单实例

本文实例讲述了Python2随机数列生成器。分享给大家供大家参考,具体如下: #filename:randNumber.py import random while True:...