Django獲取全域性request

2021-08-22 04:40:13 字數 765 閱讀 3577

某些情景下,我們需要在任意函式內獲取request,但是django並沒有給我們提供獲取全域性request的方法。

當request到達檢視函式前,會經過中介軟體攔截。我們可以自己寫乙個中介軟體,並設計成單例模式。然後在中介軟體中取得當前request物件,並儲存在中介軟體物件中。

middleware.py:

from django.utils.deprecation import middlewaremixin

class globalrequestmiddleware(middlewaremixin):

# todo:待修改,暫時湊合

__instance = none

def __new__(cls, *args, **kwargs):

if not cls.__instance:

cls.__instance = object.__new__(cls)

return cls.__instance

def process_request(self, request):

globalrequestmiddleware.__instance = request

@classmethod

def getrequest(cls):

return cls.__instance

呼叫:

currentrequest = globalrequestmiddleware.getrequest()

獲取全域性Context

private static context context override public void oncreate public static context getcontext 如下 以上來自 第一行 context context是維持android程式中各元件能夠正常工作的乙個核心功能...

postman獲取全域性

1.獲取token介面時,在test裡面輸入如下語句 postman.clearglobalvariable token var jsondata json.parse responsebody postman.setglobalvariable token jsondata.token postm...

django獲取引數

獲取請求中所有的引數 def vue get request print request.get request.get dict data response data print 得到的get引數 dict data jsonify返回乙個json格式的資料 這裡也可以改寫成對資料庫的增刪改查後,...