What you can do is split the backend into a REST API using
http://www.django-rest-framework.org/
Refactor the views to share common logic, and you can have your template renders bound to one view handler and an api call to another. Configure your urls.py to have a url like /api/{version}/{resource/{id} mapped to an API endpoint. Since the logic is shared between the different views, you'll get the same results regardless of access method.
The nice part with DRF views is you can customize the permissions and authentications for specific resources.