Django-ipyfield er en Django app, der giver en model felt for Django, der tillader lagring & nbsp; af en IP-adresse som bigint på db side ved hjælp af IPY at håndtere konvertering til et IPy.IP instans (eller ingen) på python side.
Wut?
På sin vej, det giver os en måde at opbevare både IPv4 og IPv6 konsekvent uden at skulle smide dem i lange charfields. Også, det giver os en nem måde at validere data, som det kommer i, mens giver os adgang til yderligere meta information (dybest set alt, der gør IPY så awesome).
Installation
Tilføj til din django projekt ved at installere med pip:
pip installere django-ipyfield
eller med easy_install:
easy_install Django-ipyfield
Anvendelse
I dine modeller, gøre noget som følgende:
fra django.db import- modeller
fra ipyfield.models importerer IPyField
klasse MyModel (models.Model):
& Nbsp; # de regelmæssige params bør arbejde godt nok her
& Nbsp; IPaddr = IPyField ()
& Nbsp; # ... og så videre
Herfra eventuelle opgaver til obj.ipaddr blive betragtet som en constructor argument til en ny IPy.IP instans. Alt IP () kan bruge til at gøre kan bruges et nyt objekt.
Når du foretager forespørgsler, jeg har tilføjet en ekstra stykke syntaktisk sukker. For __in (range) opslag, kan du passerer en CIDR notation adresseområde, for eksempel:
MyModel.objects.filter (ipaddr__in = '10 .0.0.0 / 24 ')
Øjeblikket du har brug for at bruge denne form for notation understøttes for denne form for forespørgsel. For nu, hvis du skal bruge et præfiks-netmaske stil notation, videregive det til IPy.IP dig selv og bruge den resulterende eksempel som dit filter parameter.
Hvad er nyt denne udgivelse:.
- Tilføjet understøttelse af GT, GTE, lt, og LTE opslag
Hvad er nyt i version 0.1.4:
- IPy.IP eksempel rejser undtagelse i forhold til en ikke-IP instans. Dette bliver et problem, når du kommer ind ModelForm validering (kom ikke op, når kun at bruge ORM) med hensyn til tomme / null-værdier.
Krav :
- Python
- Django
Kommentarer ikke fundet