Make sure you've read What is Pinax? to get a conceptual overview of Pinax.
We strongly recommend running Pinax (or indeed, any Django) projects in a virtual environment:
pip install virtualenv virtualenv mysiteenv source mysiteenv/bin/activate pip install pinax-cli pinax start account mysite
If you are using
pipenv try this instead:
mkdir mysite cd mysite pipenv --three pipenv shell pip install pinax-cli pinax start account mysite --location .
NOTE: If you are wondering what
pinax start actually does, it is equivalent to:
pip install Django==2.0 django-admin startproject --template=https://github.com/pinax/pinax-starter-projects/zipball/account mysite
Modern Local Development Steps
If you are using pinax-templates, you will use an npm command to run a script in the package.json file. This script will automatically run the local server and prepare the static files. Install the npm dependencies, install the requirements, initialize your database, load the default sites fixtures, and run the dev server:
cd mysite npm install pip install -r requirements.txt ./manage.py migrate ./manage.py loaddata sites npm run dev
Browse to http://localhost:3000/
Collect Static Files for Deployment
To collect the static files run:
Old Local Development Steps
If you are using pinax-theme-bootstrap, you will run the local server by using the Django runserver command. Install the requirements, initialize your database, load the default sites fixtures, and run the dev server:
cd mysite pip install -r requirements.txt chmod +x manage.py ./manage.py migrate ./manage.py loaddata sites ./manage.py runserver
Browse to http://127.0.0.1:8000/
You now have a running Django site complete with account management and pinax-templates or pinax-theme-bootstrap.
Adding Another Pinax App
Add the new app name to
# other apps pinax-amazing==2.0.1,
and install requirements once again.
pip install -r requirements.txt
If you are using
pipenv, you know to use this instead:
pipenv install pinax-amazing==2.0.1
settings.py by adding your app to
INSTALLED_APPS = [ # other apps "pinax-amazing", ]
This is a good time to make any additional changes to
settings.py if needed for the new app.
Be sure to establish database tables for the new app:
Finally, modify your project
urls.py with urls for the new app:
urlpatterns = [ # other urls url(r"^amazing/", include("pinax.amazing.urls", namespace="pinax_amazing")), ]
This is a good time to adjustment templates for the new app, if needed.