Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django相当于烧瓶g?在flask.g和flask.request上存储数据?_Python_Django - Fatal编程技术网

Python Django相当于烧瓶g?在flask.g和flask.request上存储数据?

Python Django相当于烧瓶g?在flask.g和flask.request上存储数据?,python,django,Python,Django,据我所知,flask.g为当前请求上下文提供临时存储(即使从技术上讲,它是所描述的应用程序上下文)。在请求处理程序中访问g.my_数据将确保my_数据用于当前请求。Django有类似的东西吗 在我的实验中,Django的请求对象(被传递到视图函数中)可以与flask.g一样使用。我可以简单地使用request.my_data,并确保my_data用于当前请求 请注意,我尝试使用的flask.request与我使用的flask.g类似,结果相同。这就引出了一个问题,flask.g在flask.re

据我所知,
flask.g
为当前请求上下文提供临时存储(即使从技术上讲,它是所描述的应用程序上下文)。在请求处理程序中访问
g.my_数据
将确保
my_数据
用于当前请求。Django有类似的东西吗

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

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

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

似乎建议在请求中添加数据

我也是

这让我对下面的数字1的答案是肯定的,但对数字2的答案更为好奇

TLDR:

  • Django
    request
    能否等效于
    flask.g
  • flask.request
    是否可以等同于
    flask.g
    ,或者
    flask.g
    flask.request
    有什么好处

  • Django拥有context_数据和get_context()方法。要访问此数据,请像下面这样覆盖视图中的get_context_data()方法

    def get_context_data(self, **kwargs):
      context = super(NameOfView, self).get_context_data(**kwargs)
      context.update(...)
      return context
    

    我认为你不理解我的用例。我想在中间件处理程序中设置数据,然后可以在视图处理程序中访问该数据。我本来打算把它添加到请求对象中,因为django就是这样处理request.user的。@Panda你找到解决方法了吗?我想做同样的事情如果我没记错的话,我使用了Django的
    request
    对象