您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何从请求中获取POST数据?

5b51 2022/1/14 8:20:44 python 字数 2643 阅读 470 来源 www.jb51.cc/python

我只是用django设置了一个apache服务器,并测试它,在views.py中创建了一个非常简单的函数channel = rabbit_connection() @csrf_protect @csrf_exempt def index(request): data={'text': 'Food truck is awesome! ', 'emai

概述

我只是用django设置了一个apache服务器,并测试它,在views.py中创建了一个非常简单的函数

channel = rabbit_connection()
@csrf_protect
@csrf_exempt
def index(request): 
    data={'text': 'Food truck is awesome! ','email': 'bob@yahoo.com','name': 'Bob'}
    callback(json.dumps(data))   
    context = RequestContext(request)    
    return render_to_response('index.html',context_instance=context)

如果我向服务器发送GET或POST请求,此函数可以正常工作.但是,我想从POST请求中获取此数据.假设我发送这样的请求:

import pycurl
import simplejson as json

data = json.dumps({'name':'Bob','email':'bob@yahoo.com','text': u"Food truck is awesome!"})

c = pycurl.Curl()
c.setopt(c.URL,'http://ec2-54-......compute-1.amazonaws.com/index.html')
c.setopt(c.POSTFIELDS,data)
c.setopt(c.VERBOSE,True)

for i in range(100):
    c.perform()

我想在视图中看到的是这样的:

 if request.method == 'POST':
     data = ?????? # Something that will return me my dictionary

以防万一:
     它始终采用JSON格式,字段未知.

将从您的字典中返回单个值(key = data).如果你想要整个字典,你只需使用request.POST.您在这里使用QueryDict类:

In an HttpRequest object,the GET and POST attributes are instances of django.http.QueryDict. QueryDict is a dictionary-like class customized to deal with multiple values for the same key. This is necessary because some HTML form elements,notably,pass multiple values for the same key.

QueryDict instances are immutable,unless you create a copy() of them. That means you can’t change attributes of request.POST and request.GET directly.

Django Docs

总结

以上是编程之家为你收集整理的如何从请求中获取POST数据?全部内容,希望文章能够帮你解决如何从请求中获取POST数据?所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶