Django-ipyfield היא אפליקציה Django המספקת שדה מודל לאופטימיות המאפשרת אחסון & nbsp; של כתובת ה- IP כbigint בצד db באמצעות IPy לטפל המרה לדוגמא IPy.IP (או אין) ב צד פיתון.
wut?
בדרכו, זה נותן לנו דרך לאחסן IPv4 ו- IPv6 באופן עקבי מבלי לזרוק אותם בcharfields הארוך. כמו כן, זה נותן לנו דרך קלה לאימות נתונים כפי שהיא באה ב, תוך מתננו גישה למידע meta נוסף (ובעצם כל מה שעושה IPy כל כך מדהים).
התקנה
הוסף את זה לפרויקט Django על-ידי התקנה עם פיפס:
PIP להתקין Django-ipyfield
או עם easy_install:
easy_install Django-ipyfield
שימוש
במודלים שלך, לעשות משהו כמו הבא:
ממודלי יבוא django.db
מipyfield.models לייבא IPyField
MyModel כיתה (models.Model):
& Nbsp; # params הרגיל צריך לעבוד מספיק טוב כאן
& Nbsp; ipaddr = IPyField ()
& Nbsp; # ... וכן הלאה
מכאן, כל מטלות לobj.ipaddr יכולות להיחשב טיעון בנאי לדוגמא IPy.IP חדשה. דבר IP () יכול להשתמש בו כדי להפוך את אובייקט חדש יכול לשמש.
בעת ביצוע שאילתות, הוספתי חתיכה נוספת אחת של סוכר תחבירי. ל__in חיפושים (טווח), אתה יכול לעבור טווח כתובות סימון CIDR, למשל:
MyModel.objects.filter (ipaddr__in = '10 .0.0.0 / 24 ')
נכון לעכשיו אתה צריך להשתמש בטופס זה של סימון נתמך עבור שאילתה מסוג זה. לעת עתה, אם אתה צריך להשתמש בסימון סגנון קידומת-מסכת רשת, להעביר אותו לIPy.IP עצמך ולהשתמש בדוגמא כפרמטר הסינון שלך וכתוצאה מכך.
מהו חדש ב מהדורה זו:.
- תמיכה נוסף עבור gt, GTE, LT, וחיפושי LTE
מה חדש בגרסה 0.1.4:
- דוגמא IPy.IP מעלה חריגה כאשר בהשוואה ל למשל הלא-IP. זה הופך להיות בעיה כאשר אתה נכנסת לאימות ModelForm (לא עלה בעת שימוש רק ORM) בכל הקשור לערכים ריקים / null.
דרישות :
- Python
- Django
תגובות לא נמצא