Hello.
Django is full-stack *web* framework, so it has some web-specific shortcuts, and probably does not fit ideally in enterprise patterns.
For example, it does not encourage you to have "backend server" and "frontend server" connected via SOAP/XML/ESB like in "classical" enterprise approach.
How ever:
1) Django managers and querysets (ORM) are database access layer. You should always access persistence storage via Django managers. Users.objects.find_all_users(in='Europe').
2) Django model is service layer / domain layer. Model should be fat and have business-specific API. Like user.do_some_business()
3) Security: Django gives you ability to set permissions to concrete classes. Some 3rd party Djagno apps allows you to set permissions even to concrete instances. You may use decorators in URLConf or mixins in view classes to force user to authenticate.
5) In Django, you may scale your apps by moving database, webserver and cache layer of different clusters. Nothing prevents you from having 10 machines in database cluster and 10 machines in cache cluster. It works.
6) Dependency Injection: you may use your settings.py for such purposes. In Django you install app by adding it to INSTALLED_APPS. And new app automatically participates in all stages after it. That is classical dependency injection, is not it?
7) In Python, we use Celery for async queues and Enterprise Integration Patterns. It integrates with Django well.
You should read Django tutorial (on Django website), Django references and some books like "Two Scoops of Django: Best Practices for Django 1.5" (it is about 1.5, but it is ok for 1.7 as well).