Awesome Open Source
Awesome Open Source


Learning how to tango with Django... and Material Design!


This is a Django web application for users to view, like and categorise resources for learning Python. This project was built following the Tango with Django guide, with the addition of Material Design using MDC Web.

Getting Started


An installation of Python version 3.5 or later is required to run the Django site locally.

An installation of Node.js version 8 or later is required to build the MDC Web assets.


Clone the source from this repository.

git clone
cd tango-with-django

Create and activate a Python virtual environment, specifying a suitable path <path>. A common name for the environment directory is .venv.

python3 -m venv <path>
source <path>/Scripts/activate

Install the Python dependencies listed in requirements.txt.

pip install --requirement requirements.txt

Install the Node.js production and development dependencies listed in package.json.

npm install


To compile the MDC Web assets, execute the build script.

npm run build

To create or update the database, execute the makemigrations and migrate commands of the script. These commands create schema migrations based on changes to the models and apply these migrations to the database, respectively.

python3 makemigrations
python3 migrate

To run the site locally, execute the runserver command of the script, optionally specifying the local IP address <address> and port number <port>. This will serve the site to <address>:<port>. If unspecified, <address> defaults to localhost and <port> defaults to 8000.

python3 runserver [[<address>:]<port>]

To populate the database with sample data, run the script.


To manage the database, execute the createsuperuser command of the script and follow the prompts. This will create a superuser account with access to the administration interface at <address>:<port>/admin/.

python3 createsuperuser

To run the unit tests, execute the test command of the script.

python3 test


This project is distributed under the terms of the MIT License. See LICENSE for more information.

Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Javascript (1,049,824
Python (797,356
Html (237,920
Css (140,480
Database (93,032
Server (66,383
Django (34,911
Search (31,611
Jquery (26,473
Sass (14,509
Sqlite (9,771
Ajax (7,688
Orm (5,870
Material Design (4,568
Full Stack (3,603
Material Components (417