Django: Quick guide on how to develop web pages using this framework

3 min reading
14 January 2016
Django: Quick guide on how to develop web pages using this framework
Django: Quick guide on how to develop web pages using this framework

BBVA API Market

At BBVAOpen4U, we have described how to start using JavaScript development frameworks such as AngularJS, EmberJS and BackboneJS. However, we have yet to mention other popular frameworks such as Django: the open-source development framework on Python which is particularly useful to quickly create web applications. This is a quick guide for beginners on how to install and start using the tool.

Before we start, we need to know that Django really is about, its main characteristic and how to make the most of it:

●      This framework’s main goal is to enable hassle-free creation of web applications. It intends to be simple and quick so that “you can concentrate on writing your application without having to reinvent the wheel.” An almost perfect summary of Django would be: quick programming of web pages and applications. This is possible thanks to Python, a simple, direct and highly efficient language (the code volume necessary to program any digital project is extremely low).

●      Based on the DRY philosophy (Don’t Repeat Yourself). A lot of web applications and digital projects share numberless code lines. Django is almost synonymous with code refactoring. It allows you to use programming between applications without having to repeat the same code lines in different projects.

●      Django is a high-level web framework based on the Model-View-Controller paradigm. And this couldn’t be any different since Django is a development framework focused on simplicity, speed and code reuse. So, we have the data (the model), the user interface (the view) and the business logic (the controller).

●      Embedded database. Django is supplied with SQLite, a database used by major companies such as Facebook and Bloomberg.

●      ORM system for connecting to databases. ORM is the system the development framework uses to connect with and store data in the database. Querysets are essential for this process. They are lists of model data that can be read, sorted and filtered. This short guide explains how to choose, sort or filter model objects.  

●      API dedicated to developing digital projects. Django REST framework is a set of tools for developers to build browsable Web APIs which are compatible with reading ORM or non-ORM data and with authentication policies based on well-know packages such as OAuth1 and OAuth2.

How to start developing with Django

It is very easy to download the zipped file with the Django folder, and install it on any workstation (Windows, Mac OSX and Linux). To start developing with Django, follow these steps:

●      Download the zipped file from Django’s website. The latest available version is 1.9.1. Version 1.10 is scheduled to be launched in August 2016. Once you have downloaded and unzipped the file, install Django on your machine using pip. Command:

pip install Django==1.9.1

●      Alternatively, you can use Git, an open-source version control system free of charge. Installation takes place through this command interpreter but, naturally, first you need to install Git.

git clone https://github.com/django/django.git

●      Django has some dependencies and requirements which you must also install to be able to use this framework:

–       The first dependency is the programming language Python. It is recommended that you use Python 3, albeit Django is also compatible with version 2.7.

–       The second dependency is the installation of an independent web server (Django has its own light development server but it cannot be used as a production server). This server must be based on the WSGI PEP 3333 specification. The specification allows you to choose from a wide range of servers for digital projects with Django.

–       The third requirement is a compatible database. There are several options: PostgreSQL, MySQL, SQLite3 and Oracle.

Creating a project

To begin a digital project in Django, you need to:

●      Create the directory for the new project. Run the command: django-admin.py startproject mysite. In technical terms, it is recommended that you place this directory outside the server’s root folder to prevent security issues. The command creates the directory mysite, a generic name:

mysite/
       manage.py
       mysite/
           __init__.py
           settings.py
           urls.py
           wsgi.py

Each command represents an element in the project.

–       mysite/: Project directory. In this case, a generic name which can be changed to the name of the web page, blog or app.

–       manage.py: Command line for managing the project.

–       mysite/mysite/: Directory for the Python package of our digital project; the source of any import.

–       mysite/_init_,py: File which allows Python to handle the project’s directory as a Python package.

–       mysite/settings.py: Project configuration options.

–       mysite/urls.py: urls statement for the new website.

–       mysite/wsgi.py: Server specification file.

Configuring the database in Django

To configure the database you have chosen for the Django project (PostgreSQL, MySQL, SQLite3 or Oracle), you need to change the configuration options of file mysite/settings.py. You need to change the DATABASES default element and make it compatible with the selected database. As with most database configurations, the following is changed:

–       name: Database name; it must always correspond to the whole path, including the file name. E.g. for a Windows machine: C:/home/user/mysite/sqlite3.db if the database for the Django development project is SQLite3. 

–       user: Database user.

–       password: Database password.

–      host: Machine where the database is hosted.

Follow us on @BBVAAPIMarket

It may interest you