gpt4 book ai didi

python - 如何在 Django 中的每个管理页面加载上运行 python 函数

转载 作者:太空宇宙 更新时间:2023-11-04 09:01:38 25 4
gpt4 key购买 nike

我希望在加载来自管理界面的页面时运行 python 函数。这不需要在每个页面加载时运行(即非管理相关页面)。此函数需要请求对象或用户 ID。

我知道我可以创建一个新 View 并从页面的 javascript 调用它,但这似乎是一种糟糕的实现方式。有没有办法在不添加任何额外依赖项的情况下以某种方式将功能附加到管理页面加载服务器端?

更新:该函数用于连接到一种日志系统,该系统每天跟踪每个用户的第一次/最后一次交互,每当用户使用管理界面时都需要更新。似乎中间件应用程序可以让我做我想做的事,谢谢你们!

最佳答案

免责声明:我对 Django 本身的内部结构或 API 知之甚少。

您需要使用/编写的是一个中间件组件。

参见:Django Middleware

简单的例子:

类 LocaleMiddleware(对象):

def process_request(self, request):

if 'locale' in request.cookies:
request.locale = request.cookies.locale
else:
request.locale = None

def process_response(self, request, response):

if getattr(request, 'locale', False):
response.cookies['locale'] = request.locale

另请参阅:Understanding Django Middleware来自 Effective Django。

关于python - 如何在 Django 中的每个管理页面加载上运行 python 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24782368/

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