Another option to consider is django-bootstrap-form.
I found crispy-forms to be too heavyweight for my needs. Django-bootstrap is not maintained any more. I tried django-bootstrap-toolkit and django-bootstrap-form, and while it does look like django-bootstrap-toolkit has more features, I found my needs were met by django-bootstrap-form. In the interest of keeping things simple, I chose the latter, and haven't found it lacking (although I'd be interested to hear other opinions on their relative merits).
In addition to django-bootstrap-form, I'd recommend django-widget-tweaks, which allows you to add classes (and other attributes) to your forms using template filters, e.g.:
{{ form.field|add_class:"input-small" }}
This lets you use class-based formatting from Bootstrap while keeping the presentation logic in the template.