Python, Django - 如何在中间件中存储http请求?

Python, Django - how to store http requests in the middleware?

可能是这个问题听起来很傻,但我不知道该怎么做我相信最简单的问题(因为刚开始学习 Django)。

我所知道的是我应该创建一个中间件文件并将其连接到设置。比创建一个视图和一个 *.html 页面来显示这些请求并将其写入 url。

如果有任何见解和说明,我将不胜感激。

P.S。再次抱歉提出一个愚蠢的问题。

您可以实现自己的 RequestMiddleware(在 URL 解析之前插入)或 ViewMiddleware(在解析 [=21= 的视图之后插入) ]).

在那个中间件中,它是标准的 python。您可以访问文件系统、数据库、缓存服务器……与您在代码中的其他任何地方一样。

在单独的网页中显示最后 N 个请求意味着您创建了一个视图,该视图从中间件存储它们的地方提取数据。

首先,正如您所说,您需要一个模型来将请求信息保存在数据库中。创建并迁移新模型后,您可以编写自定义中间件并在 process_request 方法中执行您想要的操作:

from yourapp.models import YourModel

class CustomDebugMiddleware_first(object):
    def process_request(self, request):
         new_http_information = YourModel(http_info=INFO_YOU_WANT_TO_SAVE)
         new_http_information.save()

然后把你的settings.py中这个中间件的路径放到MIDDLEWARE_CLASSES