/ / Django Match IP nel database - python, django, django-models, indirizzo ip

Django Match IP nel database - python, django, modelli django, indirizzo ip

Sto cercando di verificare se l'IP dell'utente è in un oggetto modello che ho.Ho aggiunto il mio IP nel database, ma non sto ottenendo il mio codice per rispondere di conseguenza:

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

risposte:

2 per risposta № 1

Stai confrontando una stringa con un elenco di istanze di modelli. Non sarà mai uguale.

Non vuoi comunque recuperare l'intera tabella di IgnoredIPs solo per controllarne uno singolo, ma piuttosto per ottenere un valore preciso:

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