Home     |      Learn AJAX     |      Forum     |      Register     |      Submit Resource     |      Submit Article      |      Contact Us

Home Frameworks
 

Introduction to Django

 

Why Django

Page 2 of 2


Why Django?


Since the spread of the MVC pattern into web development, Python has provided quite a few choices when it comes to web frameworks, such as Django, TurboGears and Zope. Although choosing one out of many can be confusing at first, having several competing frameworks can only be a good thing for the Python community, as it drives the development of all frameworks further and provides a rich set of options to choose from.



Django is one of the available frameworks for Python, so the question is: what sets it apart to become the topic of this book, and what makes it popular in the Python community? The next subsections will answer these questions by providing an overview of the main advantages of Django.


Tight Integration between Components


First of all, Django provides a set of tightly integrated components; all of these components have been developed by the Django team themselves. Django was originally developed as an in-house framework for managing a series of news-oriented websites. Later its code was released on the Internet and the Django team continued its development using the Open Source model. Because of its roots, Django's components were designed for integration, reusability and speed from the start.


Object-Relational Mapper


Django's database component, the Object-Relational Mapper (ORM), provides a bridge between the data model and the database engine. It supports a large set of database systems, and switching from one engine to another is a matter of changing a configuration file. This gives the developer great flexibility if a decision is made to change from one database engine to another.


Clean URL Design


The URL system in Django is very flexible and powerful; it lets you define patterns for the URLs in your application, and define Python functions to handle each pattern. This enables developers to create URLs that are both user and search engine friendly.


Automatic Administration Interface


Django comes with an administration interface that is ready to be used. This interface makes the management of your application's data a breeze. It is also highly flexible and customizable.


Advanced Development Environment


In addition, Django provides a very nice development environment. It comes with a lightweight web server for development and testing. When the debugging mode is enabled, Django provides very thorough and detailed error messages with a lot of debugging information. All of this makes isolating and fixing bugs very easy.


Multi-Lingual Support


Django supports multi-lingual websites through its built-in internationalization system. This can be very valuable for those working on websites with more than one language. The system makes translating the interface a very simple task.


The standard features expected of a web framework are all available in Django.


These include the following:


  • A template and text filtering engine with simple but extensible syntax.
  • A form generation and validation API.
  • An extensible authentication system.
  • A caching system for speeding up the performance of applications.
  • A feed framework for generating RSS feeds.

Even though Django does not provide a JavaScript library to simplify working with Ajax, choosing one and integrating it with Django is a straightforward matter, as we will see in later chapters.


So to conclude, Django provides a set of integrated and mature components, with excellent documentation, at http://www.djangoproject.com/documentation/ , thanks to its large community of developers and users. With Django available, there has never been a better time to start learning a web development framework!


History of Django


Django started as an internal project at the Lawrence Journal-World newspaper in 2003. The web development team there often had to implement new features or even entire applications within hours. Therefore, Django was created to meet the fast deadlines of journalism websites, whilst at the same time keeping the development process clean and maintainable. By the summer of 2005, Django became mature enough to handle several high traffic sites, and the developers decided to release it to the public as an Open Source project. The project was named after the jazz guitarist Django Reinhardt.


Now that Django is an Open Source project, it has gathered developers and users from all over the world. Bug fixes and new features are introduced on a daily basis, while the original development team keeps an eye on the whole process to make sure that Django remains what it is meant to be—a web framework for building clean, maintainable and reusable web applications.


Summary


Web development has achieved large leaps of progress over the last few years. The advent of scripting languages, web frameworks, and Ajax made rapid development of web applications possible and easier than ever. This book takes you through a tutorial for building a Web 2.0 application using two hot technologies—Python and Django. The application allows users to store and share bookmarks. Many of the exciting Web 2.0 applications will be explained and developed throughout this book.  In the next chapter, we will set up our development environment by installing the necessary software, and get a feel for Django by creating our first application.


Read Review on this Book 
This book is available for purchase at packtpub.com Learning Website Development with Django




First Page: Introduction to Django


Read Next: AFLAX - A Lightweight Ajax Framework with Flash



 

 

Comments



Post Your Comment:

Members Please Login
Your Name:*
e-mail ID:(required for notification)*
Image Verification: 
 
 Subscribe    

Sponsored Links