int2k / django-init

Project template used at Fueled for scaffolding new Django based projects. :dizzy:

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 2.2.x
  • Python 3.6.x
  • 12-Factor based settings management via django-environ, reads settings from .env if present.
  • Supports PostreSQL 11.0 (support of postgis-2.5 is available).
  • Ready to deploy on Heroku (optional) and Ubuntu 16 LTS via Ansible
  • Django Rest Framework 3.9.x. ready.
  • Uses django_sites instead of django.contrib.sites
  • Uses mkdocs for project documentation. Optionally, password protect the docs when deployed.
  • Uses pytest 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.
  • Custom Auth app with JWT based Token Backend system with login, logout and current_user_profile modification views for easier extensibility.
  • Media storage using Amazon S3 (optional)
  • Letsencrypt Support via certbot
  • Static assets handling via webpack (optional)
  • 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.

Articles

Release Policy

django-init is a rolling release project. Commit and fixes are added to master branch on regular basis and always have latest stable django and associated libraries. You are advised to follow-up with changelogs.

Changelogs

Refer to CHANGELOG.md.

Code of Conduct

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

Related Projects


Built with at Fueled

About

Project template used at Fueled for scaffolding new Django based projects. :dizzy:

License:Other


Languages

Language:Python 77.8%Language:HTML 6.4%Language:Shell 6.2%Language:CSS 4.5%Language:JavaScript 2.9%Language:Ruby 1.4%Language:Smarty 0.8%