flask 如何 自己创建 request.json 对象?

2022-12-02 15:29:00 +08:00
 wuwukai007
get 请求 request.json 为 None
我想添加 request.json = {"test":1},报错无法对 request 添加属性

后面想通过 g 变量传递参数,
在接口 中 g.name = 11
接口中调用别的文件夹下方法,方法内 g.get('name')
报错 g 为 None

flask 不熟,有熟悉 flask 帮忙看下,谢了
2235 次点击
所在节点    Python
9 条回复
Yuxiaoy
2022-12-02 15:40:20 +08:00
你的目的是什么,没看出到底想干嘛
Yourshell
2022-12-02 16:20:08 +08:00
我觉得你这是对 Python 不太熟
676529483
2022-12-02 16:25:14 +08:00
只有 post 请求才有 json 的意义呀
wangerka
2022-12-02 17:01:28 +08:00
贴个代码吧,感觉是对 http 也不熟
lairdnote
2022-12-02 17:06:21 +08:00
全局的变量使用? 这样的开销有多大 。。上下文切换。。一般不敢这样写
pengtdyd
2022-12-02 17:09:54 +08:00
不知道你的需求是什么,有点不知所云,正好最近几天写了一个 flask 的项目你看看能不能参考吧。
https://github.com/Ly-Alex/luban-kit
awanabe
2022-12-02 17:15:37 +08:00
@property
def json(self) -> t.Optional[t.Any]:
"""The parsed JSON data if :attr:`mimetype` indicates JSON
(:mimetype:`application/json`, see :attr:`is_json`).

Calls :meth:`get_json` with default arguments.
"""
return self.get_json()

json 这个是一个属性化的方法...你往方法设值...就有点离谱
LindsayZhou
2022-12-02 17:33:01 +08:00
根据文档 https://flask.palletsprojects.com/en/2.2.x/api/#flask.Request.get_json
你要改 request.data 的值。
但是我觉得不优雅。

感觉你可以做个中间件,去看一下 wsgi 中间件的写法吧,可以自己做个 Request 子类,感觉这么漂亮一点。
cz5424
2022-12-03 12:38:41 +08:00
楼主理解一下应用上下文和请求上下文先?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/899620

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX