python django 获取用户IP地址的方法

发布时间:2020-11-28编辑:脚本学堂
python django 获取用户IP地址的方法,有需要的朋友可以参考下。

python django 获取用户IP地址的方法,有需要的朋友可以参考下。

函数实现:
 

复制代码 代码如下:
def get_client_ip(request):
try:
    real_ip = request.META['HTTP_X_FORWARDED_FOR']
    regip = real_ip.split(",")[0]
except:
    try:
        regip = request.META['REMOTE_ADDR']
    except:
        regip = ""
return regip

问题:
以上函数会在有的地方不好使,检测发现request.META根本无key值等于HTTP_X_FORWARDED_FOR和REMOTE_ADDR。
服务器采用nginx+fastcgi实现。

解决办法:
在nginx的fastcgi配置中加入如下内容:
fastcgi_param REMOTE_ADDR $remote_addr;