from __future__ import unicode_literals from netaddr import EUI, AddrFormatError from django import forms from django.core.exceptions import ValidationError # # Form fields # class MACAddressFormField(forms.Field): default_error_messages = { 'invalid': "Enter a valid MAC address.", } def to_python(self, value): if not value: return None if isinstance(value, EUI): return value try: return EUI(value, version=48) except AddrFormatError: raise ValidationError("Please specify a valid MAC address.")