Документы Django (http://docs.djangoproject.com/en/dev/ref/forms/fields/) говорят, что вы можете создать подкласс django.forms.Field, если он реализует метод clean () и его метод init () принимаетосновные аргументы (обязательно, label, initial, widget, help_text).
Я пытался использовать код в следующем фрагменте Django: http://djangosnippets.org/snippets/907/ для реализации поля кредитной карты, но я хочу егобыть необязательным. Параметр required = false работает нормально для обычных полей, но не для подклассовых полей в этом фрагменте. Чего нет в фрагменте? (я думаю, что метод init () отсутствует илине принимает основные аргументы, упомянутые в документации Django, но я не уверен, как это исправить.)
Например, если для этих настраиваемых полей задано значение false, форма все равно требует их:
CC_number = CreditCardField(required=False)
CC_expiration_date = CCExpField(required=False)
Форма не требует этого поля (она работает как положено):
CC_security_code = forms.IntegerField(required=False)
Спасибо за вашу помощь!