Django 相当于 Flask g?将数据存储在 flask.g 与 flask.request 上?



据我了解,flask.g为当前请求上下文提供了临时存储(即使它在技术上是此处描述的应用程序上下文)。在请求处理程序期间访问g.my_data将确保my_data是针对当前请求的。Django 有与此等价的东西吗?

在我的实验中,Django 的request对象被传递到视图函数中,可以与flask.g相同。我可以简单地使用request.my_data并确保my_data是针对当前请求的。

注意到,我尝试使用类似于我使用flask.gflask.request,结果相同。这就引出了一个问题,flask.g提供了什么flask.request,只是放心flask.request属性不会被覆盖?

仅供参考,在用例中,我在实际的请求处理程序(烧瓶)或视图函数(django)与中间件(django)或@before_request(烧瓶)处理程序之间共享数据。

此来源似乎建议将数据放在请求中。

这个来源也是如此。

这导致我对下面的数字 1 回答是肯定的,但对数字 2 想知道更多??

TLDR:

  1. Djangorequest可以等同地用于flask.g吗?
  2. flask.request可以等同地用于flask.g,或者flask.gflask.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

最新更新