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

Python 如何在django中获取本地ip而不是公共ip?,python,django,networking,Python,Django,Networking,所以我有这个网站来管理我的企业的本地网络我有2个项目在里面一个是回调服务器一个是管理本地网络的主要应用程序。因此,我想限制只有能够访问技术人员路由器的人才能访问主应用程序。我已经想得到客户端ip地址,但它返回公共ip,但我想要的是用户连接的ip地址,在“192.178.1.x~192.178.50”范围内,有人能帮我吗?如果有人有建议,我如何在这种情况下使用不同的方法,请分享。谢谢:)这是代码 views.py def ip(request): x_forwarded_for = req

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

views.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)

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

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

我对Django了解不多,但希望您能在代码中实现此代码片段。

但这只会得到我的服务器ip。.如果我部署它,我需要的是连接主机的ip,但感谢您回答我的问题:)@wika抱歉我误解了您的问题。抱歉,如果人们对我的问题感到困惑,我编辑了这个问题,我试图做的事情是获取我设置的范围内的客户端ip地址