在 Django 中获取 POST 请求 IP 地址
在本文中,我们将看到如何从我们收到POST请求的地方获取IP地址。有时检查安全参数很重要。有时您可能需要禁止某些IP,或者您可能需要检查是否有人从单个IP发送过多请求。让我们看看如何使用第三方软件包轻松完成。
示例
创建一个Django项目和一个应用程序。设置网址并执行一些基本操作,例如在INSTALLED_APPS中添加应用程序。
我们不会使用任何Django表单或模型。
首先,安装django-ipware包-
pip install django-ipware
您不需要为此进行任何配置。
现在,转到模板→home.html并添加以下内容-
tut
在这里,我们只是为表单创建了一个前端,用于检查IP。
在应用程序的urls.py中-
fromdjango.urlsimport path, include
from . import views
urlpatterns = [
path('',views.home,name='home'),
]在这里,我们渲染了我们的视图。
在views.py中-
fromdjango.shortcutsimport render
from ipware import get_client_ip
def home(request):
if request.method=="POST":
# We get ip here
client_ip, is_routable = get_client_ip(request)
# Client IP is IP address
print(client_ip, is_routable)
return render(request,'home.html')在这里,在POST请求中,我们get_client_ip()用于查看请求来自哪个IP,它返回两个值。
输出结果
记住我们使用的是本地主机这一事实,您的输出将是-
[23/Aug/2021 13:34:55] "GET / HTTP/1.1" 200 9999 127.0.0.1 False [23/Aug/2021 13:34:58] "POST / HTTP/1.1" 200 9999
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下