Python、Django——如何在中间件中存储http请求?

标签 python django middleware

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

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

  • 如何在中间件中存储最后(5/10/20 或任何)http 请求并在 *.html 页面中显示它们?问题是我什至不知道我到底应该以在 *.html 文件中显示的方式写入 middlaware.py 和 views.py。理想情况下,此页面也应在新请求出现后更新。我阅读了 Django 文档,以及其他一些带有中间件示例的主题,但对我来说似乎非常复杂。

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

附言再次抱歉提出一个虚拟问题。

最佳答案

首先,正如您所说,您需要一个模型来将请求信息保存在数据库中。创建并迁移新模型后,您可以编写自定义中间件并在 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

关于Python、Django——如何在中间件中存储http请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33645899/

相关文章:

python - 传递/返回 Cython Memoryviews 与 NumPy 数组

Python:cTurtle 模块未加载

python - 如何将 groupby 值的总和除以另一个值的计数

python - Django ORM : Filter by extra attribute

python - 获取最近创建的对象的 id Django Rest Framework

html - 边框不延伸过去的 float 元素?

php - 如何在中间件 Laravel 5 中捕获 "too many attempt"异常

Python-性能-将大型 numpy 数组作为字符串打印到选项卡文件

javascript - 为什么 redux thunk 返回 Promise?

php - 找不到 Laravel 5 函数 ()