django-ipyfield ist ein Django-Applikation, die eine Modellfeld sorgt für Django, dass die Speicher & nbsp ermöglicht, einer IP-Adresse als BigInt auf der db Seite mit Hilfe IPy auf Umwandlung in eine IPy.IP Instanz (oder keine) Griff auf die Python Seite.
Wut?
In seinen Weg, es gibt uns eine Möglichkeit, IPv4 und IPv6 konsequent, ohne sie in langen charfields werfen speichern. Auch, es gibt uns eine einfache Möglichkeit, Daten zu überprüfen, wie es in kommt, während er uns den Zugriff auf zusätzliche Meta-Informationen (im Grunde alles, was IPy so genial macht).
Installation
Fügen Sie diese auf Ihrem Django-Projekt, indem Sie mit pip:
pip django-ipyfield installieren
oder mit easy_install:
easy_install django-ipyfield
Verwendung
In Ihren Modellen, tun Sie etwas wie folgt aus:
von django.db Importmodelle
von ipyfield.models importieren IPyField
Klasse MyModel (models.Model):
& Nbsp; # die regelmäßigen params sollte gut genug, hier zu arbeiten
& Nbsp; ipaddr = IPyField ()
& Nbsp; # ... und so weiter
Von hier aus können alle Zuordnungen zu obj.ipaddr als Konstruktorargument auf eine neue Instanz IPy.IP werden. Alles IP () verwenden können, um ein neues Objekt verwendet werden kann.
Bei der Anfragen, fügte ich ein extra Stück syntaktischer Zucker. Für __In (Bereich) Lookups, können Sie eine CIDR-Notation Adressbereich übergeben, zum Beispiel:
MyModel.objects.filter (ipaddr__in = '10 .0.0.0 / 24 ')
Derzeit müssen Sie diese Notationsform für diese Art der Abfrage unterstützt wird. Denn jetzt, wenn Sie ein Präfix-Netzmaske Notation verwenden müssen, geben sie, sich IPy.IP und verwenden Sie das Ergebnis beispielsweise als Filterparameter.
Was ist neu in diese Version:.
- Unterstützung für gt, gte, lt, lte und Lookups
Was ist neu in Version 0.1.4:
- IPy.IP Beispiel wirft Ausnahme im Vergleich zu einem Nicht-IP-Instanz. Dies wird zu einem Problem, wenn Sie in Modelform Validierung erhalten (nicht kommen, wenn nur mit dem ORM) in Bezug auf die leere / Nullwerte.
Anforderungen :
- Python
- Django
Kommentare nicht gefunden