金字塔和python的请求库之间的奇怪行为

时间:2012-08-02 02:36:33

标签: python pyramid python-requests

所以我正在尝试创建一个系统来索引搜索数据库中的用户,但金字塔和请求库让我失望。这是一段乱七八糟的代码:

requests.put('http://localhost:9200/master/user/%s' % str(session.query(User).filter(User.username == request.params['username']).first().user_id)
, data = '{"name" : %s, "reputation" : 0, "username" : %s}' % (str(request.params['name']), str(request.params['username']))

它在python解释器中工作正常,但在视图中,它一直返回400状态。我在这行代码之前运行session.flush()。我无法弄清楚出了什么问题。

1 个答案:

答案 0 :(得分:5)

user = session.query(User).filter_by(username=request.params['username']).first()
if user is None:
   "not found" # do whatever appropriate in your case e.g., return 404

headers = {'content-type': 'application/json'}
requests.put('http://localhost:9200/master/user/{userid}'.format(user.user_id),
             data=json.dumps(dict(name=request.params['name'], reputation=0,
                                  username=request.params['username'])),
             headers=headers)