seidu626 / 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.7.x
  • Support for black!
  • 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 18 LTS via Ansible
  • Django Rest Framework 3.9.x.
  • 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 78.1%Language:HTML 6.4%Language:Shell 6.1%Language:CSS 4.4%Language:JavaScript 2.9%Language:Ruby 1.3%Language:Smarty 0.8%