Skip to content
Template project for building Django web applications
JavaScript CSS Python HTML Other
Branch: master
Clone or download
Jan-Olov Eriksson Jan-Olov Eriksson
Jan-Olov Eriksson and Jan-Olov Eriksson Correct readme with correct port number for URLS
Latest commit a3df2f6 Jan 24, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
pages
project
static/css
staticfiles
templates
users
.gitignore
Dockerfile
Makefile
Pipfile
Pipfile.lock
Readme.md
docker-compose-dev.yml
docker-compose-prod.yml
manage.py

Readme.md

Django Template

A project template to use with Django projects. Includes:

  • pages app
  • users app
  • custom user model (email instead of username)
  • e-mail verification
  • django debug toolbar (only in development)
  • docker files for spinning up containers (python and postgresql)
  • basic tests for pages and users
  • different settings files for development and production

The biggest part of this project I got from the "Django for professionals" book, and built on what I learned going through its chapters. My thought was to have something to use as a baseline when building my own Django apps.

I could have used the DjangoX repo to get a ready made template. But I wanted to build it my self and choose what should be in it. Also I've built this to learn Django better myself.

Production and development settings

The setting file are split up in production and a development settings files. Also the project have one docker-compose.yml for production and one for development. Within the docker-compose files you can find the parameter for which settings file to use on the runserver command. To make it easier and less to type for each command, there is a Makefile with different common operations.

Quick start

  1. Clone this repository

https://github.com/Joeriksson/django-template.git

  1. Install Docker Desktop to be able to use the docker environment.

  2. Create an .env file in the root folder with the the following parameters:

SENDGRID_PASSWORD=<you sendgrid password>
SENDGRID_USERNAME=<your sendgrid username>
SECRET_KEY=<your secret key>
DEBUG=True
  1. In the directory where you cloned the repository, run the following command:

make dev_build

  1. The container should now be up and running. Run:

make dev_web_exec cmd='pipenv install'

To install the dependencies.

  1. Restart the container and rebuild it:

make dev_build

Then check in you browser that you see a start web page at http://127.0.0.1:8000

  1. Run a migration to build the databases

make dev_web_exec cmd='python manage.py migrate'

  1. Create a Django super user to log in to the admin

make dev_web_exec cmd='python manage.py createsuperuser'

  1. Goto http://127.0.0.1:8000/admin and login with the super user account you just created.

  2. Go on and build you app.

If you want to stop the container run:

make dev_down

You can’t perform that action at this time.