据我了解,flask.g
为当前请求上下文提供了临时存储(即使它在技术上是此处描述的应用程序上下文)。在请求处理程序期间访问g.my_data
将确保my_data
是针对当前请求的。Django 有与此等价的东西吗?
在我的实验中,Django 的request
对象被传递到视图函数中,可以与flask.g
相同。我可以简单地使用request.my_data
并确保my_data
是针对当前请求的。
注意到,我尝试使用类似于我使用flask.g
flask.request
,结果相同。这就引出了一个问题,flask.g
提供了什么flask.request
,只是放心flask.request
属性不会被覆盖?
仅供参考,在用例中,我在实际的请求处理程序(烧瓶)或视图函数(django)与中间件(django)或@before_request(烧瓶)处理程序之间共享数据。
此来源似乎建议将数据放在请求中。
这个来源也是如此。
这导致我对下面的数字 1 回答是肯定的,但对数字 2 想知道更多??
TLDR:
- Django
request
可以等同地用于flask.g
吗? flask.request
可以等同地用于flask.g
,或者flask.g
比flask.request
有什么好处?
Django 有 context_data 和 get_context() 方法。要访问此数据,请像这样覆盖视图中的 get_context_data() 方法。
def get_context_data(self, **kwargs):
context = super(NameOfView, self).get_context_data(**kwargs)
context.update(...)
return context