Django – Starting to Build a Web App using Django

This entry is part 1 of 2 in the series Django Web App

I’m going to try to keep this series focused on building a web app using Django and related technologies, so I’ll often skip over extraneous install help, especially on multiple operating systems.  Things like virtualenv, virtualenvwrapper, and database libraries can be particularly problematic on Windows and sometimes Mac, so I’ll leave any detail install/setup help for stackoverflow.  I am developing on Mac, but I have developed Django apps on Windows and Linux also, so I am familiar with all sorts of issues installing and running Python apps, if you end up needing help.

To start with, I’m going to provide a list of core development tools, libraries, and programs that help facilitate web development, especially in Python.  These will all make developing web apps easier in their own way.

  1. Python – I’m using Python 3.4.3 on a Mac
    $ python -V
    Python 3.4.3
  2. pip – The recommended tool to install Python packages/dependencies
  3. virtualenvwrapper – (Optional) Install using pip.  This is used to manage different Python projects that require different dependencies or versions of the same dependencies.
  4. A database – You can use SQLite which is built into Python.  I am going to use MySQL so I can utilize phpMyAdmin to display tables and their data.  Typically, I would use either MySQL or PostgreSQL, as of late I’ve become more accustomed to Postgres.  As you’ll see when we start creating the data models for our app, the database doesn’t matter for this example due to Django’s use of an ORM, which I’ll explain in more detail at a later time.
  5. Bootstrap – CSS for basic design and JavaScript functionality.

So aside from the libraries we’ll need, including Django, these are going to be our core dependencies to start building the Django web application.

A brief screencast of the web app we’ll build \/.

Next post, I’ll go over the initial Django project setup and creating some basic functionality.

Series Navigation
Setting up our Django Project >>