如何添加一小段代码,该代码使用请求并在有人访问 django 管理页面时运行?



如何添加一小段代码,当有人访问管理页面时运行。我正在尝试获取使用管理员并对数据库进行更改的用户的 IP 地址。我可以使用django signals来查看何时进行更改,但我需要访问 djangorequest才能访问用户的 IP 地址。我认为一个简单的方法是在请求 IP 地址并将其保存在变量中的admin views中添加一段代码。我研究了覆盖 django 管理视图,但我发现的所有内容似乎都与以某种方式创建查询集和返回 http 请求相关,这不是我想要的(我不相信(。

您可以在模型管理类中重写save_model方法。

admin.py

class YouModelAdmin(admin.ModelAdmin):
##
def save_model(self, request, obj, form, change):
obj.ip = request.get("get  ip address")
obj.save()

相关内容

  • 没有找到相关文章

最新更新