lulurami 2022-09-27 10:24 采纳率: 66.7%
浏览 27
已结题

Django后台如何获取用户在前端页面的最后登录时间和IP地址并写入MySQL数据库?

Django后台如何获取用户在前端的最后登录时间和IP地址并写入MySQL数据库?

以下是我写的代码块?

class Member(models.Model):    #models里的数据表格式
     membername = models.CharField(max_length=50)
     last_login_at = models.DateTimeField(default=datetime.now) 
     last_login_ip = models.CharField(max_length=50) 

def adminMemberinsert(request):  #views里的代码
     try:
         ob = Member()
         ob.membername = request.POST['membername']
         ob.last_login_at = ?      #如何获得用户的最后登录时间
         ob.last_login_ip = ?      #如何获得用户的最后登录IP地址
         ob.create_at = datetime.now().strftime('%Y-%m-%d %H:%M:%S') 
         ob.update_at = datetime.now().strftime('%Y-%m-%d %H:%M:%S') 
         ob.save()
         context = {"info":"添加成功!"}
     except Exception as err:      
         print(err)
         context = {"info":"添加失败!"}
     return render(request,"admin/info.html",context)

烦请帮忙解答,谢谢!

  • 写回答

2条回答 默认 最新

  • 爱音斯坦牛 全栈领域优质创作者 2022-09-27 11:17
    关注

    request.META["REMOTE_IP"])可以获取ip,至于时间,后台time模块构造,至于你要拿最后一次,这个需求不行。
    我的建议是讲获取ip和构造时间的代码放到中间件中,每次请求都执行,然后存到数据库,此时数据库最后一条数据即是最后访问记录,里面的ip和时间即最后的。
    有帮助的话记得采纳一下哦!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月5日
  • 已采纳回答 9月27日
  • 创建了问题 9月27日

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵