gpt4 book ai didi

django - 从中间件传递额外的参数来查看

转载 作者:行者123 更新时间:2023-12-05 05:11:11 26 4
gpt4 key购买 nike

我想在我的 POST(JSON) 请求中添加另一个字段。键值对必须是“请求 ID”。我得出的结论是,最好的方法是生成一个随机请求 ID 并使用中间件将其注入(inject)到请求对象中。我为此编写了一个自定义中间件。当我尝试到达终点时出现错误。

我已经尝试通过互联网进行搜索,但没有找到解决我的错误的方法。

class SimpleMiddleware:
def __init__(self, get_response):
self.get_response = get_response
# One-time configuration and initialization.

def __call__(self, request):
# Code to be executed for each request before
# the view (and later middleware) are called.
req = json.loads(request.body)
req_id = random.randint(0,1000000)
req["req_id"]=req_id

response = self.get_response(req)

# Code to be executed for each request/response after
# the view is called.

return response

我收到的错误是“dict”对象没有属性“is_ajax”。你能帮我解决这个问题吗?如果有更简单更好的方法来实现这个,请告诉我。

最佳答案

好的。我实现了我想做的事情。我的自定义中间件代码是:

class SimpleMiddleware:
def __init__(self, get_response):
self.get_response = get_response
# One-time configuration and initialization.

def __call__(self, request):
# Code to be executed for each request before
# the view (and later middleware) are called.

response = self.get_response(request)

# Code to be executed for each request/response after
# the view is called.

return response

def process_view(self, request, view_func, *view_args, **view_kwargs):
request.req_id = random.randint(0,1000000)

更新:当时我是菜鸟,现在看到评论我觉得很尴尬:P

关于django - 从中间件传递额外的参数来查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55668645/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com