DJANGO INTRODUCTION
Django Framework is a free and open-source web framework for python that follows the Model-Template-View (MTV) architecture. It is a non-profit organization run by the Django Software Foundation
Django can be used to create complex, dynamic websites. Django have all ingredients whatever that are required for programmers like:
- Don’t Repeat Yourself DRY Principle
- Reuse and “pluggability”
- Minimal code
- Rapid development
Django also provides the option to create, read, update, and delete data through a GUI interface that is dynamically generated and configured via admin & models.
Most popular sites who used Django web framework include:
- Public Broadcasting Service
- Mozilla
- The Washington Times
- Discus
- Bitbucket
- Nextdoor
Django Framework can be viewed as an MVC architecture. It contains ORM (Object-Relational Mapper) which is a database abstraction API that mediates between Data models ( Python classes) and Views which project the UI on the template.
The Django framework includes:
- Lightweight, standalone web server for development and testing. But you cannot use this lightweight webserver for production purposes.
- Form validation system that can translate between HTML forms and values suitable for storing in the database.
- A template inheritance system like the concept of object-oriented programming.
- Caching framework that can use a wide variety of cache types.
- An internal dispatch system that allows parts of the application to communicate with each other via predefined signals.
- Internationalization policy, including translating Django’s own elements into different languages
- Django Model is a serialization system that can create and read XML and/or JSON representations of events.
- A system that extends the capabilities of the template engine.
- Good Interface to Python’s built-in unit testing framework.
- Django REST Framework is a powerful toolkit that can be used for building web APIs.
Bundled Applications with Django:
- Major Django Distribution incorporates many applications into its “contrib” package.
- Expandable Authentication System.
- Dynamic Administrative Interface.
- Tools for creating RSS and Atom Syndication feeds.
- The “Sites” framework, that facilitates multiple websites to run on a single installation of Django providing independency for content and applications.
- Tools for creating Google Sitemaps.
- A framework for creating GIS applications.
