Getting Started
The pinax/pinax-starter-projects
repo is available here.
Many of the starter projects are derivatives of each other (zero
is the parent of account
among many
others). We leverage git
and branching to manage the hierarchy. Each project template lives in it's
own branch and will branch from its natural parent.
All starter projects share a common method for getting started. It involves creating a virtual environment, installing Django, and running the startproject
command with a URL to the template, followed by a few commands within your new project. Or even easier, you can use the pinax
command line utility.
Getting Started
pip install virtualenv
virtualenv mysiteenv
source mysiteenv/bin/activate
You might use pyenv
to manage the version of Python used in your virtualenv. See the pyenv repository for usage.
Using the pinax
command line utility
pip install pinax-cli
pinax projects # list available project releases
pinax start <kind> <project_name>
If you are feeling adventurous you can install off latest development by passing
the --dev
flag:
pinax start --dev <kind> <project_name>
Manually
pip install Django
django-admin.py startproject --template=https://github.com/pinax/pinax-starter-projects/zipball/<PROJECT_BRANCH> mysite -n webpack.config.js -n PROJECT_README.md
Get Going With Your New Project
cd mysite
chmod +x manage.py
pip install -r requirements.txt
./manage.py migrate
./manage.py loaddata sites
./manage.py runserver
See each section below for the startproject url as well as any deviation from these common notes.
Projects
- zero
- account
- blog
- static
- waiting-list
social
lms
forums
private-beta
symposion
Development
If you want to develop your own starter projects here is the workflow you should follow:
- Start with the branch you want to base your new project on.
git co -b <name>
- Do the work on your project template
- Test your project template by running
django-admin.py startproject --template=pinax-starter-projects test1 -n webpack.config.js -n PROJECT_README.md
- Once you are satisified with your testing, commit.
git co master
and then update thisREADME.md
file with details about your new project- Update all descendent branches:
./update.sh
git push