- Authentication. Django supports flexible logins and Python
makes it easy to adapt other security API's. Django and Python assure
that this is a solid 10.
- Shared Code. This is handled through Python features that
are central to the Django framework. Shared code management -- with
appropriate overrides and customization -- is part of Python and a 10.
- Database Access. While Django provides the necessary access
features, database scalability depends on the implementation of the
database engine itself. There are numerous parallelization features
that must all be used to maximize database throughput. Even though the
real responsibility for performance is outside Django, the Django
flexibility results in a 10.
- Applications. The various applications described in the
requirements are more-or-less irrelevant to Django. They can be built
easily, but are not first-class features of Django. In the sense of
easy-to-develop, this is a solid 10. In the sense of
already-existing-applications, this may be a 5 if the applications are
part of a community like Pinax. Because the applications do not already
exist, this may also be a 0.
- API. Python allows use of any API. Django's transparent use
of Python makes it easy to build API's. This is a feature of Python
and scores 10 out of 10.
- Usability and Developer Skills. Django's ease-of-use is a
direct consequence of the Python programming language. The developers
of Django make excellent use of the Python language, giving this a 10.
- Performance, Access and Scalability. For the most part,
Django performance comes from consideration of the purpose of all layers
of the architecture. Principle design features include keeping static
content separate from dynamic content (reducing Django's workload), and
optimizing the database (to hande concurrent access well). Django
provides several internal design features to minimize memory. Django
encourages proper separation of concerns, giving a 10.