django - 当有人访问 django 管理页面时,如何添加一小段使用请求并运行的代码?
问题描述
如何添加在有人访问管理页面时运行的一小段代码。我正在尝试获取使用管理员并对数据库进行更改的用户的 IP 地址。我可以django signals
用来查看何时进行更改,但我需要访问 djangorequest
才能访问用户的 IP 地址。admin views
我认为一种简单的方法是在我请求 IP 地址的位置添加一段代码并将其保存在变量中。我研究了覆盖 django 管理视图,但我发现的一切似乎都与创建查询集和以某种方式返回 http 请求相关,这不是我想要的(我不相信。)
解决方案
您可以覆盖模型管理类中的 save_model 方法。
管理员.py
class YouModelAdmin(admin.ModelAdmin):
##
def save_model(self, request, obj, form, change):
obj.ip = request.get("get ip address")
obj.save()
推荐阅读
- windows-7 - pgAdmin(Windows 7)中的文本选择不起作用
- java - Hibernate Validator @SafeHtml 无法允许自定义 HTML 标记和属性
- c# - 过滤器无法正常工作 - 当内部连接表时
- c# - Chilkat 如何使用 Bash 终端的参数启动 SSH
- solr - Solr 搜索是否可以在键中包含通配符?
- objective-c - ARKit 深度图像素缓冲区中的黑色像素是什么?
- google-search-console - iframe 视频加载图像中缺少字段“thumbnailUrl”
- java - Spring MVC Hibernate没有xml使用DriverManagerDataSource如何映射属性
- c# - 起订量设置抛出异常
- php - 多循环中的查询和按最后一个查询的 id 排序