我正在处理一个 Django 项目,我需要将用户的 IP 地址保存在我的数据库中。
我可以通过 request.META.get("REMOTE_ADDR")
获取用户的 IP 地址。
目前,我必须在保存和编辑视图中提供 IP 地址。我一直在寻找一个干净的解决方案,以便我可以覆盖模型 save()
方法,并让模型在每次添加新记录或更新任何记录时保存 IP 地址。
但 Django 模型无权访问 request
。
有什么解决方法吗?或者我是否必须在每次保存和编辑视图中提供 IP 地址。
答案 0 :(得分:0)
如果我有你的问题,你应该试试这个;
ip_address = request.META.get("REMOTE_ADDR")
your_model.objects.create(ip_address=ip_address)
这将在您的模型中创建一个新条目(此处由 your_model
表示)。请注意,您需要提供模型中存在的所有列。在这里,我只在括号中显示 ip_address,但如果您的模型还存储用户名(例如),那么您还需要提供它。
例如,
your_model.objects.create(username= your_username, ip_address=ip_address)