如何添加一小段代码,当有人访问管理页面时运行。我正在尝试获取使用管理员并对数据库进行更改的用户的 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()