我正在尝试检查用户的IP是否在我拥有的模型对象中。我在数据库中添加了我的IP,但是没有让我的代码做出相应的响应:
views.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
Models.py
from django.db import models
class IgnoredIP(models.Model):
ip = models.IPAddressField()
def __unicode__(self):
return self.ip
答案 0 :(得分:2)
您将字符串与模型实例列表进行比较。它永远不会匹配。
您无论如何都不想获取IgnoredIPs的整个表格来检查单个表格。而是查询该精确值:
if IgnoredIP.objects.filter(ip=ip).exists():