数据库中的Django匹配IP

2024-10-04 11:31:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图检查用户的IP是否在我拥有的模型对象中。我在数据库中添加了我的IP,但没有得到相应的代码响应:

你知道吗视图.py你知道吗

def view(request):
    try:
        ip = request.META['HTTP_X_FORWARDED_FOR']
    except:
        ip = request.META['REMOTE_ADDR']

    ignored_ips = IgnoredIP.objects.all()
    if str(ip) in ignored_ips:
        Ignore = True

你知道吗型号.py你知道吗

from django.db import models

class IgnoredIP(models.Model):
    ip = models.IPAddressField()

    def __unicode__(self):
    return self.ip

Tags: 对象py模型selfip数据库modelsrequest
1条回答
网友
1楼 · 发布于 2024-10-04 11:31:49

您正在将字符串与模型实例列表进行比较。它永远不会匹配。你知道吗

无论如何,你不想只为了检查一张表而获取整个IgnoredIPs表。相反,查询该精确值:

if IgnoredIP.objects.filter(ip=ip).exists():

相关问题 更多 >