/django-init

Project template used at Fueled for scafolding new Django based projects.

Primary LanguagePythonOtherNOASSERTION

django-init | Build Status

Project template for django based projects, optimized for making REST API with deployment on Heroku and EC2 instances via Ansible.

Features

  • Django 1.10.x
  • Python 3.5.x only
  • 12-Factor based settings management via django-environ, reads settings from .env if present.
  • PostresSQL everywhere (support of postgis is available)
  • Procfile for deploying to Heroku
  • Ansible playbook for deployment to Ubuntu 16 LTS (optional)
  • Designed to work with Django Rest Framework 3.0+.
  • Uses django_sites instead of django.contrib.sites
  • Use mkdocs for project documentation.
  • Uses py.test as test runner.
  • travis.yml for running isolated tests and deployments to dev/qa/prod environment on Heroku from git branches.
  • Custom User app, for easier extensibility.
  • Media storage using Amazon S3 (optional)
  • Letsencrypt Support via certbot
  • SASS with autoprefixing support using django-compressor (optional)
  • Livereloading of browser in development via devrecargar
  • robots.txt and humans.txt configured

Getting Started

Install cookiecutter with brew install cookiecutter or pip install cookiecutter.

cookiecutter gh:Fueled/django-init

It will ask you couple of questions required to generate the project. It will generate a folder containing all the files in your current working directory.

If you opt to setup the project automatically, it will also:

  • initialize a git repo and bump initial tag and version.
  • create a virtualenv in the folder venv inside the project.
  • install all the python dependencies inside it.
  • try to create a postgres database and run the initial migration against it.

then only thing you'll need to do is:

  1. cd into the new github_repository folder just created.
  2. Activate virtualenv source venv/bin/activate.
  3. Run fab serve or ./manage.py runserver

Don't forget to carefully look at the generated README. Awesome, right?

You can also explore the wiki section for details on advance setup and usages.

Changelogs

Refer to CHANGELOG.md.

Code of Conduct

Everyone interacting in the django-init project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the PyPA Code of Conduct.


Built with ♥ at Fueled