django tutorial part 6: https://docs.djangoproject.com/en/1.6/intro/tutorial06/