Python, Django - 如何在中间件中存储http请求?
Python, Django - how to store http requests in the middleware?
可能是这个问题听起来很傻,但我不知道该怎么做我相信最简单的问题(因为刚开始学习 Django)。
我所知道的是我应该创建一个中间件文件并将其连接到设置。比创建一个视图和一个 *.html 页面来显示这些请求并将其写入 url。
- 如何在中间件中存储最后(5/10/20 或任何)http 请求并在 *.html 页面中显示它们?问题是我什至不知道我到底应该在 middlaware.py 和 views.py 中写入什么才能显示在 *.html 文件中。理想情况下,此页面也应在新请求出现后更新。我阅读了 Django 文档,以及其他一些带有中间件示例的主题,但对我来说似乎非常复杂。
如果有任何见解和说明,我将不胜感激。
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
可能是这个问题听起来很傻,但我不知道该怎么做我相信最简单的问题(因为刚开始学习 Django)。
我所知道的是我应该创建一个中间件文件并将其连接到设置。比创建一个视图和一个 *.html 页面来显示这些请求并将其写入 url。
- 如何在中间件中存储最后(5/10/20 或任何)http 请求并在 *.html 页面中显示它们?问题是我什至不知道我到底应该在 middlaware.py 和 views.py 中写入什么才能显示在 *.html 文件中。理想情况下,此页面也应在新请求出现后更新。我阅读了 Django 文档,以及其他一些带有中间件示例的主题,但对我来说似乎非常复杂。
如果有任何见解和说明,我将不胜感激。
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