« Back to all articles

Estrada (or: Epic Spindle Template for Really Awesome Django Apps)

Written by Marco Vellinga on 10th July 2015

Somehow all people who work in the IT business have the urge to start side-projects. To name a few projects that you could possibly be working on right now:

  • Some sort of home automation system
  • Websites
  • API’s
  • A system where a drone can bring you beer
  • Etc.

Before you can actually start on these projects, you usually have to choose a programming language, framework and database. Set all those things up on your dev environment (and make sure this project does not wreck your other projects). These things can be a real pain and slow down the process of a quick concept.

Side-projects at Spindle

Nerds at Devhouse Spindle love doing side-projects! Most of the side-projects are built at home and used at home. Some side-projects make their way into Spindle or are developed at Spindle. And some projects… well… let’s not talk about those. We do a lot with Python and Django at Spindle and thus our side-projects usually start with the Django framework. Setting up Django, database and project structure can take some time so we decided the time had come to make a Django project template!

The template

Django provides the option to start a project from a template. The standard structure made without a template will be replaced with the one given in the startproject command. While creating our template we needed to keep in mind that in some places the name of the project needs to be inserted for the structure to work. Fortunately when creating a project based on a template it is parsed by the Django Template engine. This engine will make sure that every {{ project_name }} you put in the code will be replaced by the real project name.


After we covered the template, we wondered if we could make it even easier to start developing. We put docker files, needed to build a database container and a web container, into the template and made these files dynamic in the same way as other files in the template. The startproject Django command provides the option to point to a file that needs to be parsed by the template engine. Even the docker containers, database users etc. are given the name of your project!

The result

When combining the template with docker the perfect start for side-projects has been born. A standalone Django app with its own database all set up to start coding right away!

We call it:


Epic Spindle Template for Really Awesome Django Apps

You’ll find it on Github with instructions in the readme on how to use it:


All that is left now is to start coding those awesome new Facebooks, Webshops, API’s, Tinder’s or whatever floats your boat. Happy coding!

And remember:



Your thoughts

No comments so far

Devhouse Spindle