Giter Site home page Giter Site logo

django-starter's Introduction

Django Starter

Welcome to Django Starter, a cookiecutter template for Django Projects.

Overview

Django Starter provides you with a flexible starting point for your Django project. Included in this template is a Django development environment provided by vagrant, a project layout based on pydanny's cookiecutter django and Two Scoops of Django and a lean set of dependencies. The goal is to provide you with everything you need to quickly and easily start a new Django project.

Django Starter uses a scaffolding tool called cookiecutter. Cookiecutter is similar to Yeoman. These tools are used to build out entire projects for you instead of you having to create files manually and modify their configurations.

Quick Start

  1. Install Cookiecutter
  • OSX
    brew install cookiecutter
  • Linux + Windows
    pip install cookiecutter
  1. Build your Django project based on django-starter

    cookiecutter https://github.com/tkjone/django-starter.git

You are going to be prompted to answer some questions about your project and the answers you provide are used build and configure your it. These questions are called prompts If you leave a prompts blank, Cookiecutter will use the default answer in the square brackets. For a list of the prompts used by this template, pleasse see the prompts documentation

For example, let us pretend your a huge fan of Taye Diggs and you want to make a website celebrating his life. This is how that would look:

./cookiecutter_example.gif

Out of the Box

The django-starter provides you with the following feature set:

  • Django 1.9.x

  • Vagrant Setup - Ubuntu 14.04

    This includes a 100% configured Vagrantfile with a Ubuntu 14.04 vagrant box.

  • Provisioning Scripts

    Shell scripts to automate the configuration of your vagrant box, setup your virtualenvironments, initialize and migrate your projects database, install Django dependencies and create project superuser.

  • Multiple virtualenvironments

    The provisioning scripts will provide you with two virtualenvironments. One uses Python 2 and the other uses Python 3. No configuration required, no changes to the Ubuntu default version of Python, just switch between one or the other using virtualenvwrappers workon command

  • 12 Factor App

    Project is inspired by 12 factor app which means it comes configured to use environment variables, database connection strings and other methodologies outlined in the 12 Factor manifesto. Each one has defaults, which means you don't have to setup a .env or export variables to start development work.

  • Multiple database choices (Postgres or sqlite)

    Are you working on a Proof of Concept and don't need a full blown database? No worries, this project gives you the choice of sqlite or postgres and everything will be configured accordingly.

  • lean project layout - no apps, minimal base template

    This project tries to provide a lean project layout. No apps. Only a single, unstyled template.

  • Configured dev setup

    Providing you with some essential tools to get you up and running. This includes:

    • django-extensions
    • django-nose
    • coverage
    • django-debug-toolbar
  • Collaboration - dotfiles and documentation structure

    Documentation is important, django-starter provides you with a basic documentation structure that and dot-files for improved collaboration.

Constraints

  • Vagrant setup tested on Linux and OSX

    Project has not yet been tested on Windows OS.

  • Postgres 9.0 or sqlite

    While you can configure this project to use other databases, I only provide configurations for Postgres and sqlite at this moment.

  • Environment Variables (these won't work with Apache/mod_wsgi)

Deeper Dive

Check out django starters for a step by step guide that explains this project in great detail. Django Starters is built as a learning tool to help early and intermediate django developers get a better understanding, through practical application, of how to setup and configure a Django project.

Contributing

I am a believer in the community creating things together. If you are reading through anything I have written here and find that it is incorrect, outdated or lacking in proper documentation, please feel free to create an issue or fork this repo and make a PR.

Branches

This repo's branches correspond to the version of Django being used. This project will always default to the latest version of Django and the branches will follow the django roadmap. Thus, the next branch will be django-starter-1.10.x

django-starter's People

Contributors

athomasoriginal avatar nurfaizin avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.