Interestingly one approach is to use the django uni-form project with the {% form|as_uni_form %} filter. You can then output whatever HTML you want. The https://github.com/kennethlove/django-uni-form-contrib project provides a good starting point for templates compatible with the bootstrap project but looking at it, there's still a lot to be desired and it looks somewhat inactive.
One factor might be that django uni-form is being replaced with django-crispy-forms[1], some functionality of django uni-form contrib is begin rolled into django crispy forms.[2]
Interestingly one approach is to use the django uni-form project with the {% form|as_uni_form %} filter. You can then output whatever HTML you want. The https://github.com/kennethlove/django-uni-form-contrib project provides a good starting point for templates compatible with the bootstrap project but looking at it, there's still a lot to be desired and it looks somewhat inactive.