وجانغو-ipyfield هو التطبيق جانغو الذي يوفر حقل نموذج لجانغو التي تسمح للتخزين على & nbsp؛ من عنوان IP باعتباره BIGINT على الجانب ديسيبل باستخدام السنة القطبية الدولية للتعامل مع تحويل إلى مثيل IPy.IP (أو لا يوجد) على الجانب الثعبان.
ووت؟
في طريقها، وأنه يعطي لنا وسيلة لتخزين كل IPv4 و IPv6 باستمرار دون الحاجة إلى رمى بها في charfields طويلة. أيضا، فإنه يعطينا وسيلة سهلة للتحقق من صحة البيانات لانها تأتي في، في حين يعطي لنا الوصول إلى المعلومات الوصفية إضافية (كل شيء في الأساس أن يجعل السنة القطبية الدولية رهيبة جدا).
تركيب
هذا إضافة إلى مشروع جانغو الخاص بك عن طريق تثبيت مع نقطة:
نقطة تثبيت جانغو-ipyfield
أو مع easy_install:
easy_install جانغو-ipyfield
استعمال
في النماذج الخاصة بك، لا شيء من هذا القبيل ما يلي:
من نماذج استيراد django.db
من ipyfield.models استيراد IPyField
الطبقة MyModel (models.Model):
على & nbsp؛ # ينبغي أن بارامس العادية تعمل بشكل جيد بما فيه الكفاية هنا
على & 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، ولتر، و LTE.
ما هو الجديد في الإصدار 0.1.4:
IPy.IP المثال يثير استثناء عند مقارنة مثيل غير IP. هذا يصبح مشكلة عند الدخول في التحقق من صحة ModelForm (لم يأت حتى عندما فقط باستخدام ORM) فيما يتعلق قيم فارغة / فارغة.
المتطلبات:
بيثون
جانغو
لم يتم العثور على التعليقات