首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Django在数据库中匹配IP

Django在数据库中匹配IP
EN

Stack Overflow用户
提问于 2014-08-31 21:52:37
回答 1查看 249关注 0票数 0

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

views.py

代码语言:javascript
运行
复制
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

Models.py

代码语言:javascript
运行
复制
from django.db import models

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

    def __unicode__(self):
    return self.ip
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-31 21:56:56

您正在将字符串与模型实例列表进行比较。永远都比不上。

无论如何,您不希望只为了检查单个IgnoredIP而获取整个IgnoredIP表。相反,查询该精确值:

代码语言:javascript
运行
复制
if IgnoredIP.objects.filter(ip=ip).exists():
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25596632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档