繁体   English   中英

如何在 Django 中获取本地 ip 而不是公共 ip?

[英]how to get local ip not public ip in django?

所以我有这个网站来管理我公司的本地网络我有 2 个项目,一个是回调服务器,一个是管理本地网络的主要应用程序。 所以我想限制只有可以访问技术人员路由器的人才能访问主应用程序。 我已经查看了获取客户端 ip 地址的视图,但它返回公共 ip,但我想要的是用户连接的 ip 地址在“192.178.1.x ~ 192.178.50”范围内,有人可以帮助我吗?,如果有人建议我如何在这种情况下使用不同的方法,请分享出来。 谢谢:) 这里的代码

视图.py

def ip(request):
    x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
    if x_forwarded_for:
        ip = x_forwarded_for.split(',')[0]
    else:
        ip = request.META.get('REMOTE_ADDR')
    print(ip)
    return HttpResponse(ip)

可以在 python 中使用以下代码找到您的本地 IP:

import socket
local_ip = socket.gethostbyname(socket.gethostname())
print(local_ip)

我对 Django 了解不多,但希望你能在你的代码中实现这个片段。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM