gpt4 book ai didi

python - 如何在Python(brubeck)中解析表单发布的数据?

转载 作者:行者123 更新时间:2023-12-01 05:21:46 31 4
gpt4 key购买 nike

我的代码是:

class GameSession(JSONMessageHandler, UserHandlingMixin):
@allow_all
def post(self):
s = self.s = Session()
payload = self.message.body
# payload = json.loads(payload)
print 'payload start'
print payload
print 'payload end'
current_gamesession = self.check_gamesession(payload.prize_id,
payload.publisher_id)

我看到的是:

payload start
prize_id=2&publisher_id=32&foreign_user_id=1234
payload end
ERROR:root:'str' object has no attribute 'prize_id'
Traceback (most recent call last):
File "/home/vagrant/src/brubeck/brubeck/request_handling.py", line 338, in __call__
rendered = fun(*self._url_args)
File "/vagrant/mysite/api/views.py", line 31, in wrapper
return func(self, *args, **kwargs)
File "/vagrant/mysite/api/views.py", line 629, in post

如何获取表单数据?

** 编辑 **顺便说一句,如果我使用 x-www-form-urlencoded 发送数据的话。如果我作为 form-data 发送,我会得到:

payload start
------WebKitFormBoundaryFX1GuivvAA42T3uk
Content-Disposition: form-data; name="prize_id"

2
------WebKitFormBoundaryFX1GuivvAA42T3uk
Content-Disposition: form-data; name="publisher_id"

1
------WebKitFormBoundaryFX1GuivvAA42T3uk
Content-Disposition: form-data; name="foreign_user_id"

2321
------WebKitFormBoundaryFX1GuivvAA42T3uk--

payload end

最佳答案

传统上,您会创建一个 cgi.FieldStorage 对象,该对象读取 stdin(通常 - 有关于它的作用和时间的 CGI 标准)。如今这已经有点过时了。 Urlparse.parse_qs 旨在将表单数据转换为字典:

>>> import urlparse
>>> urlparse.parse_qs("prize_id=2&publisher_id=32&foreign_user_id=1234")
{'prize_id': ['2'], 'foreign_user_id': ['1234'], 'publisher_id': ['32']}
>>>

关于python - 如何在Python(brubeck)中解析表单发布的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22176337/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com