Django Starters will walk users through the process of creating their own Django Templates that can be used to easily start new Django web development projects. Specifically, we will focus on the minimum requirements for setting up a development environment, advanced project layouts, Django Project Settings and tooling systems.
This repo contains guides which outline the design decisions and steps involved in creating django starter and django wagtail starter. This repository is split into two series.
Series 1 covers the process involved in creating django starter. It consists of 9 parts that breakdown everything that was done and why.
Setting up Vagrant
Installing Django
Installing Postgres
Multiple Settings Files + Environment Variables
Multiple Requirements Files
Logs
Tests
Documentation
Series 2 is going to build on what we learned in series 1. The goal is to show you how to configure an existing Django project, the one we built in series 1, to use Wagtail. This guide will walk you through the configuration process, creating your first page, and configuring a new site in Wagtail.
Configure Django Project to Use Wagtail
Create a New Page Class
Create a Template for your new Page Class
Create a new Site in Wagtail Admin
Create Static Files
Series 3 is going to explore setting up Gulp, BrowserSync, webpack, es6 and eslint with Django.
Setup Node
Create a CSS gulp task
Create a BrowserSync Task
Add webpack to browsersync
Configure webpack to support es6
Configure webpack to lint javascript with eslint
Create production CSS task
Create production javascript task with webpack
Clean up our hardcoded values
Setup Tape for JS testing
In this section, I will outline how to setup your project to use React
Configure Webpack to use React.
Anyone who wants to learn about Django web development. This repo is a refined version of the notes that I took when I started learning Django. I hope that it can save you some time and questions and provide a quickstart into exploring some of the more advanced offerings of web development.
This repo is a way for me to give back to the web development community. For so long I have been able to benefit from work that others freely make available online. I want to acknowledge their efforts by sharing some of my own experiences. In this process, I have a few goals that I want to work towards:
- Open Discussion: I am going to make choices that work for me, but I want readers to have, at the least, the opporunity to see that there are other choices. Therefore, I will attempt to have open discussion in my writing whenever possible exploring alternatives or clarifying what appear to be vague points. Thus, if you are reading something and you think it is unclear, please create an issue and ask a question! I would love to have a community generated FAQ section.
- Maintenance: The first thing that I do before reading any web development guides is check the date. Is it older than 6 months? 1 year? It may still be useful, but depending on the technology it is likely out of date. This rule does not apply to articles that are sharing patterns or general concepts, but for something like a particular tool in web development, this rule is critical. I don't want that to happen to this repo so I will commit time to creating a process to test the code in this repo every few months to keep it up to date.
Currently there is a master
branch a django-starter-1.9.x
branch. I have labelled the branches to correspond to the version of Django being used. Thus, when the next version of Django comes out, version 1.10.x it will get it's own branch and the cookiecutters will be updated to use the latest.
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.