如何添加一小段使用请求并在有人访问 django 管理页面时运行的代码?
How can I add a small snippet of code that uses request and runs when someone accesses the django admin page?
如何添加一小段在有人访问管理页面时运行的代码。我正在尝试获取使用管理员并对数据库进行更改的用户的 IP 地址。我可以使用 django signals
查看何时进行更改,但我需要访问 django request
才能访问用户的 IP 地址。我认为一种简单的方法是在 admin views
中添加一段代码,我将在其中请求 IP 地址并将其保存在变量中。我研究了覆盖 Django 管理视图,但我发现的所有内容似乎都与创建查询集和以某种方式返回 http 请求相关,这不是我想要的(我不相信。)
您可以覆盖模型管理中的 save_model 方法 class。
admin.py
class YouModelAdmin(admin.ModelAdmin):
##
def save_model(self, request, obj, form, change):
obj.ip = request.get("get ip address")
obj.save()
如何添加一小段在有人访问管理页面时运行的代码。我正在尝试获取使用管理员并对数据库进行更改的用户的 IP 地址。我可以使用 django signals
查看何时进行更改,但我需要访问 django request
才能访问用户的 IP 地址。我认为一种简单的方法是在 admin views
中添加一段代码,我将在其中请求 IP 地址并将其保存在变量中。我研究了覆盖 Django 管理视图,但我发现的所有内容似乎都与创建查询集和以某种方式返回 http 请求相关,这不是我想要的(我不相信。)
您可以覆盖模型管理中的 save_model 方法 class。
admin.py
class YouModelAdmin(admin.ModelAdmin):
##
def save_model(self, request, obj, form, change):
obj.ip = request.get("get ip address")
obj.save()