Python使用django获取用户IP地址的方法

yipeiwu_com6年前Python基础

本文实例讲述了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;

希望本文所述对大家的Python程序设计有所帮助。

相关文章

分享6个隐藏的python功能

小编在以前给大家介绍过python一些很少用到的功能,这次我们给大家分享了6个隐藏的python功能,学习下。 在python的设计哲学中,有这么一条内容:“Simple is bett...

PyQt5+requests实现车票查询工具

PyQt5+requests实现车票查询工具

PyQt5+requests实现一个车票查询工具,供大家参考,具体内容如下 结构图 效果图 思路 1、search(QPushButton)点击信号(clicked)连接到自定义的槽...

2019 Python最新面试题及答案16道题

1.Python是如何进行内存管理的? 答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制 一、对象的引用计数机制 Python内部使用引用计数,来保持追踪内存中的对...

解决python 无法加载downsample模型的问题

downsample 在最新版本里面修改了位置 from theano.tensor.single import downsample (旧版本) 上面以上的的import会有error...

Python 文件和输入输出小结

1.打开和关闭文件(open(),file(),close()) 有两种内建函数可以获取文件对象:open和file。他们的用法完全一样。下面只以open()为例子讲解。获取一个文件对象...