article: The tale of DRY with django-crispy-forms