Django is an open source Python based web framework for building web applications quickly and effortlessely .It's a pragmatic framework designed for developers working on projects with dead lines .It's perfect for quickly creating prototypes and then continue building them after clients approval .
Django uses Python language , a general purpose ,powerful , feature rich programming language ,and follows a Model View Controller (MVC) design pattern .But what is MVC ?
What is MVC ?
MVC is a software architectural design pattern which encourages separation of concerns and seamless cooperation between designers and developers when working on the same project .It basically divides or separates your app into three parts : The Model , the View and the Controller .
The Model is responsible for data storage and management .
The View is responsible of representing and rendering the user interface or view .
The Controller is responsible for handling logic to control the user interface and work with data model.
Thanks to MVC you as a developers can work with controller to handle model data without being concerned about the user interface which is left to designers so if anything changes on the side of designers on the user interface you can rest assured that will not affect you code and vice versa.
What is Python ?
Python is a general purpose programing language that's suitable for developing all kind of applications including web apps .Python is known by a clean syntax and a large standard library which contains a wide range of modules that can be used by developers to build their applications instead of reinventing the wheel .
Python is an Object Oriented Language just like Java . Also like Java ,Python is an interpreted language that runs on top of its own virtual machine which makes it a portable language that can runs across every machine and operating system such as Linux ,Windows and MAC .
Python is especially popular among the scientific community where it's used for creating numeric applications .
Python is also known by the great performance of its runtime environment which makes it a good alternative to PHP for developing web applications .
For more information you can head to http://python.org/ where you can also download Python binaries for supported systems .
For Linux and MAC Python is included by default so you don't have to install .For Windows just head over to the official Python website and grab your installer .Just like any normal Windows program ,the installation process is easy and straightforward .
Why using Django ?
Due to its popularity and large community ,Python has numerous web frameworks among them Django so what makes Django the right choice for you or your next project ?
Django is a batteries included framework
Django includes a set of batteries that can be used to solve common web problems without reinventing the wheels such as the sites framework ,the Auth system ,forms generation ,an ORM for abstracting database systems and a a very powerful templating engine ,caching system ,RSS generation framework etc.
Django has a powerful ORM or Object Relational Mapper which allows developers to use Python OOP classes and methods instead of SQL tables and queries to work with SQL based databases .Thanks to Django ORM ,developers can work wit any database system such as MySQL or PostgresSQL without knowing anything about SQL .In the same time the ORM doesn't get in the way ,you can write custom SQL anytime you want especially if you need to optimize the queries against your server database for increased performance .
Support for internationalization : i18n
You can use Django for writing web applications for other languages than English with a lot of ease thanks to its powerful support for internationalization or you can also create multi lingual websites
The Admin interface or back office
Django is a very suitable framework for quickly building prototypes thanks to its auto-generated admin interface .
You can generate a full fledged admin application that can be used to do all sorts of CRUD operations against your database models that you have registered with the Admin module using one line of code.
Community and extensive documentation
Django has a great community that has contributed all sorts of awesome things to Django from tutorials and books to reusable open source packages that extend the core framework to include solutions for even more web development problems without reinventing the wheel or wasting time implementing what other developers have already created .
Django has also one of the most extensive and useful documentation on the web which can gets you up and running with Django in no time .
As a conclusion ,if you are looking for a web framework full of features that makes building web applications fun and easy and that has all what you can expect from a modern framework that Django is the right choice for you if you are a Python developer .