---
title: "Datta Able Django Template &#8211; Start with Docker"
description: "This article presents an open-source seed project crafted with Docker and Django on top of Datta Able Bootstrap 4 design (free version). The product can be used from simple eLearning projects to..."
url: https://blog.codedthemes.com/datta-able-django-template-start-with-docker/
date: 2021-09-21
modified: 2024-10-26
author: "Adi Chirilov"
image: https://blog.codedthemes.com/wp-content/uploads/2021/09/cth-docker-datta-able-django-widgets.jpg
categories: ["Web Development"]
tags: ["django", "docker", "open source"]
type: post
lang: en
---

# Datta Able Django Template &#8211; Start with Docker

This article presents an open-source seed project crafted with **Docker and Django** on top of **Datta Able** Bootstrap 4 design (free version). The product can be used from simple eLearning projects to fully-fledged commercial products based on the permissive (MIT) License.

For newcomers, **Django** is a leading web framework coded in Python by experienced programmers using a “batteries-included” concept and **Docker** is a popular virtualization platform used to deliver software much faster.

> Thanks for reading! Topics covered:

- 👉 **Section #1** – Short introduction to **Django**

- 👉 **Section #2** – What is **Docker**

- 👉 **Section #3 – ****Start **Datta Able Dashboard **in Docker**

- 👉 **Section #4 – **Compile **Datta Able **from Sources

- 👉 (https://github.com/app-generator/django-datta-able) – source code (contains the DEMO link)

## 1# – Django Short Introduction

**Django** is a modern web framework crafted in Python language that provides modules and libraries for many common features required in modern web development. This amazing library is actively supported and versioned by a large open-source community using a `batteries-included` concept. Here is a short list with features provided by **Django** `out-of-the-box` :

- Session-based authentication, Social Login via Google, Apple .. etc.

- `Out-of-the-box` Admin Section with CRUD access for all tables

- Abstract Database access via a powerful (https://docs.djangoproject.com/en/3.2/topics/db/queries/)

- Powerful built-in security patterns (anti-CSRF, XSS attacks)

- Helpers for almost anything: `forms`, `data validation`

- A powerful `command-line-interface` to interact with the application

Django can be installed in many ways and the most recommended way is to use **PIP**, the official Python package manager. Let’s create a simple `Django` project.

> Step #1 – Create a virtual environment (optional but recommended)

$ virtualenv env`
$
$ # Activate the virtual environment
$ source env/bin/activate`

> Step #2 – Install Django via PIP, the official package manager for Python

```
$ pip install django // install latest version
```

**

> Step #3 – Build a simple Django project

```
$ mkdir my_django_project
$ cd my_django_project
$
$ django-admin startproject config .
```

**

> Step #4 – Start the project

```
$ python manage.py runserver
```

**

Once all the above commands are executed, we should see in the browser the default **Django** splash screen when accessing `http://localhost:8000` .

!(https://blog.appseed.us/content/images/2021/08/image-14.png)*Django – Default Project Page*

## 2# – What is Docker

According to the official (https://docs.docker.com/get-started/overview/), **Docker** is virtualization software for developing, shipping, and running applications that provides a clear separation of applications from the infrastructure so we can deliver software much faster and reliable. Basically, **Docker** provides a way to bundle web apps and APIs into containers that are executable components built with applications source code and operating system software libraries.

!(https://www.admin-dashboards.com/content/images/2021/09/docker-512h.png)*Docker – Official Logo.*

**

Once the containers are bundled, **Docker** provides also a control layer that enables full control over the software: deploy, start, stop, restart and update containers using simple commands. For more information about **Docker** feel free to access:

- (https://docs.docker.com/get-started/overview/) – the official documentation

- (https://opensource.com/resources/what-docker) – comprehensive article provided by **OSS.com**

## 3# – Start Datta Able using Docker

Probably the most easier way to start and use the product is to use the **Docker** scripts shipped with product sources. The first step is to download the product from the official page or use Git to clone the product from Github. Once the sources are available on our workstation, we can build and start the product with ease:

> Step #1 – Clone (https://github.com/app-generator/django-datta-able) from Github

```
$ git clone https://github.com/app-generator/django-datta-able.git
$ cd django-datta-able
```

**

> Step #2 – Start in Datta Able Django Docker

```
$ docker-compose pull # pull dependencies
$ docker-compose build # build local packages
$ docker-compose up # start Datta Able in Docker
```

**

If all the above commands are executed successfully, we can visit the app in the browser and interact with the UI:

!(https://blog.codedthemes.com/wp-content/uploads/2021/09/cth-docker-datta-able-django-login.jpg)*Datta Able Django – Login Page*

To access the private pages we need to register a new user and authenticate. Once the Sign IN is passed, we can access all private pages: **dashboard**, **charts**, **transactions**.

!(https://blog.codedthemes.com/wp-content/uploads/2021/09/cth-docker-datta-able-django-charts.jpg)*Datta Able Django – Charts PAge.*

## 4# – Compile from sources

Another way to build Django Datta Able is to follow the build instruction provided by the official documentation and compile from sources. Here is the code:

**Step #1** – Clone sources or download from the product page

```
$ git clone https://github.com/app-generator/django-datta-able.git
$ cd django-datta-able
```

**

**Step 2** – Install app modules

```
$ virtualenv env
$ source env/bin/activate
$
$ pip3 install -r requirements.txt
```

**

**Step 3** – Set up database (mandatory step)

```
$ python manage.py makemigrations
$ python manage.py migrate
```

**

**Step 4** – Start the project

```
$ # Start the application (development mode)
$ python manage.py runserver # default port 8000
```

**

By visiting the app in the browser, we should be able to authenticate and use this simple **Django Template**.

!(https://blog.codedthemes.com/wp-content/uploads/2021/09/cth-docker-datta-able-django-widgets.jpg)*Django Datta Able – Widgets Page.*

**Thanks for reading**! For more resources, please access:

- (https://codedthemes.com/item/datta-able-pro-django-template/) – the premium version (more components and pages)

- Check more (https://codedthemes.com/item/category/templates/django/) by CodedThemes

- (https://appseed.us/admin-dashboards) – a curated list provided by (https://appseed.us/)

Share this:[](https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fblog.codedthemes.com%2Fdatta-able-django-template-start-with-docker%2F&linkname=Datta%20Able%20Django%20Template%20%E2%80%93%20Start%20with%20Docker)[](https://www.addtoany.com/add_to/x?linkurl=https%3A%2F%2Fblog.codedthemes.com%2Fdatta-able-django-template-start-with-docker%2F&linkname=Datta%20Able%20Django%20Template%20%E2%80%93%20Start%20with%20Docker)[](https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fblog.codedthemes.com%2Fdatta-able-django-template-start-with-docker%2F&linkname=Datta%20Able%20Django%20Template%20%E2%80%93%20Start%20with%20Docker)[](https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fblog.codedthemes.com%2Fdatta-able-django-template-start-with-docker%2F&linkname=Datta%20Able%20Django%20Template%20%E2%80%93%20Start%20with%20Docker)[](https://www.addtoany.com/add_to/copy_link?linkurl=https%3A%2F%2Fblog.codedthemes.com%2Fdatta-able-django-template-start-with-docker%2F&linkname=Datta%20Able%20Django%20Template%20%E2%80%93%20Start%20with%20Docker)
