Django Web Framework

Have you ever struggled with the time and a software project’s dead line, well for sure you should have experienced this kind of situation in many times before, as a developer. In today’s software industry one of most important aspects is the time, along with the talent and skills the ability to complete a certain task within a given period is of time is crucial. This impression leads to rapid application development, which every software company strives to accomplish. So whenever you reach this kind of situation there’s always a solution under the hood and that’s the beauty of software industry. Django Web Framework is one enormous solution that you can look for rapid application development. Python’s simplicity and Django’s flexibility cover up the needs in the context of this matter.

Intro To Python

From the external glance Python is a server side scripting language like Perl, PHP. Let’s talk about this, so what is a server side scripting language and what are other scripting languages that are currently on the job other than this server side scripting languages? Well server side means that the code you write (scripting) executes on the server side (web server) rather than client side (browser). Examples for client side scripting languages are JavaScript, VB script. The specialty of python is the flexibility, lightweight, high-level and, well it can be use as an OOP (Object Oriented Programming) language. Some may refer Python as a scripting language some may refer it as a programming language anyway the context of the whole idea is still the same. Now at the inner state Python has a collectable adoption within the industry, in the early 1990 that was Guido van Rossum created the language, since then is has been grown steadily and the concentration has increased remarkably in past few years. Python is used extensively for system administration tasks (it is, for example, a vital component of several Linux distributions), but it is also used to teach programming to complete beginners. The US National Aeronautics and Space Administration (NASA) use Python both for development and as a scripting language in several of its systems. Industrial Light & Magic uses Python in its production of special effects for large-budget feature films. Yahoo! uses it (among other things) to manage its discussion groups. Google has used it to implement many components of its web crawler and search engine. Python is being used in such diverse areas as computer games and bioinformatics. Google’s latest innovation, the Google Wave’s server is also implemented using Python called Pygowave.

What Is Django And What’s It Origin?

We can simply describe that Django is a web framework that 100% built using Python. That’s it, it’s really a framework that built for convenience and to reduce the time consuming efforts. Out of the box Django is very conceptive and robust basically the environment, so the developers only have to focus on how they going to implement a certain web application using Django, main considerations that affects a web application. Let’s see how Django is invented (the origin), Django grew organically from real-world applications written by a Web-development team in Lawrence, Kansas, USA. It was born in the fall of 2003, when the Web programmers at the Lawrence Journal-World newspaper, Adrian Holovaty and Simon Willison, began using Python to build applications The World Online team, responsible for the production and maintenance of several local news sites, thrived in a development environment dictated by journalism deadlines. For the sites including LJWorld.com, Lawrence.com, and KUsports.com journalists (and management) demanded that features be added and entire applications be built on an intensely fast schedule, often with only days or hours notice. Thus, Simon and Adrian developed a timesaving Web-development framework out of necessity it was the only way they could build maintainable applications under the extreme deadlines. So if we look at the context of this situation, they invent this framework in order to simplify and to speed the development process of their web applications, that underline concept is the hall way to Django’s success within the industry.

django-web-framework-1229618

Django’s Current States And Capabilities

Now, several years later, Django is a well-established open source project with tens of thousands of users and contributors spread across the planet. Two of the original World Online developers (the “Benevolent Dictators for Life,” Adrian and Jacob) still provide central guidance for the framework’s growth, but it’s much more of a collaborative team effort. This history is relevant because it helps explain two key things. The first is Django’s “sweet spot.” Because Django was born in a news environment, it offers several features that are particularly well suited for ecommerce site like Amazon.com, Craigslist, and The Washington Post that offer dynamic, database-driven information. Don’t let that turn you off, though, although Django is particularly good for developing those sorts of sites, that doesn’t preclude it from being an effective tool for building any sort of dynamic Web site. (There’s a difference between being particularly effective at something and being ineffective at other things.).Let’s take a look at Django’s most conceptual capabilities.

Based On Model View Controller (MVC) Design Pattern

Although Django is based on MVC design pattern the way it uses the naming for the pattern is bit different

  • Models (Model) – abstract the used data by defining classes for them and storing them on a relational database
  • Views (View) – take the job of the controllers in MVC and basically define, what the user get to see. Functions (functions that changes according to the model) not classes here.
  • Template (Controller) – Define how the users see the view.

Division Of Easiness And Maintainability (Applications And Projects)

Give developer a more modularize way of manipulating the web application’s parts

  • Application – this is the point where you store actual functionality. For example a discussion forum would be an application; a weblog would be an application.
  • Project – A project is for example your whole web site (entire outcome). Here you store your central configuration and general templates and images.

Applications are a simple way to share common functionality between various projects.

Easy Start

  • Python (Django can work above the version 2.5)
  • A text editor

This is all what you need to start developing with Django frame work, because it ships with a light weight development server (NOT suitable for production environment) to play around with it.

Yet Flexible

  • Fast CGI (Common Gate way interface) – Common Gateway Interface, a specification for transferring information between a World Wide Web server and a CGI program. A CGI program is any program designed to accept and return data that conforms to the CGI specification. The program could be written in any programming language, including C, Perl, Java, or Visual Basic. Django itself support better processing metrology to up holds a fast CGI surrounding.
  • mod_python – is an Apache module that embeds the Python interpreter within the server.
  • mod_wsgi – is a simple Apache module implementation which can use to host any Python application which supports the Python WSGI interface.

Supports Most Common Database Engines

  • SQLit
  • MySQL
  • PostgreSQL
  • Oracle

Main Features Resides On Developers Perspective

  • A good collection of contributed applications
  • Administration interface
  • Authentication system
  • Comments system
  • Template language focused in inheritance.
  • Simple form processing.
  • Lots of fun stuff. icon_smile-3980084

Summery

As you can see Django is a more convenient and easy to handle web framework purely built using Python, once you have mastered Django it will simply speed up your application development process and enhance the usability of your application through easy maintainability. Django can be used to develop small-scale corporate web application to expandable ecommerce web applications (this is just a surface markup which means Django can be use to develop further more complex web applications, don’t judge it from the outside view). So Django is currently available as an open source product (under BSD license) all developers, architects and fun makers are invited to use it and experience emphasize power of it.

  • The latest official version is 1.1.1 – can download form here
  • Documentation can be found in the following link (for installation instructions and sample applications.)
  • Support + Community can be found here (also there’s a good ticketing system and IRC channel)

References

  • Holovaty, A. (2009). The Definitive Guide to Django (Second edition). Apress.
  • Home page. (2010). Retrieved from Django project: http://www.djangoproject.com/
  • TERM/C/CGI.html. (2010). Retrieved from webopedia: http://www.webopedia.com/TERM/C/CGI.html

Related Posts

  • How to Use Google Web Master Tools

Sponsored Links

twitter_32-4535908 facebook_32-4719998 buzz_32-1014889 linkedin_32-1019232 delicious_32-9992648 stumbleupon_32-9672981 feed_32-3625633