Abstract out django-dart to allow for more use cases.