在python-eve内部提交请求(post)
发布时间:2020-12-20 11:33:55 所属栏目:Python 来源:网络整理
导读:我有一个前夕的资源,例如ABC,我想操纵另一个资源,例如当我向ABC发布一个新项目时某些条件满足的BCD,我知道我可以将事件挂钩到post / pre_POST_ABC但是有没有“内部”方式在BCD上发布而不通过HTTP再次通过? 解决方法 在你的回调函数中你可以: A)使用数据驱
我有一个前夕的资源,例如ABC,我想操纵另一个资源,例如当我向ABC发布一个新项目时某些条件满足的BCD,我知道我可以将事件挂钩到post / pre_POST_ABC但是有没有“内部”方式在BCD上发布而不通过HTTP再次通过?
解决方法
在你的回调函数中你可以:
A)使用数据驱动程序将数据直接存储到数据库 像这样的东西: def update_ABC(request,payload): accounts = app.data.driver.db['abc_collection'] account = accounts.insert(docs) app = Eve() app.on_post_POST_ABC += update_ABC app.run() 会做的伎俩.您将以这种方式绕过框架,并直接存储在数据库中. B)使用app.test_client.post()直接通过应用程序进行POST. app.test_client().post('/bcd',json.dumps({"field":"value"},content_type='application_json')) 这可能是一个更好的选择,因为请求通过框架(像data_created这样的元字段是为你处理的.) 更新:使用v0.5,您现在可以使用post_internal来获得相同的结果.其他CRUD方法也有相同的内部方法. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |