For an overview of the project architecture and tools used, check out my blog post about it.
- Python
- pip
- virtualenv
- virtualenvwrapper
Using virtualenv and virtualenvwrapper is highly recommended. The virtualenv can be named anything (VIRTUALENV_NAME).
-
Create new virtualenv
mkproject VIRTUALENV_NAME -
Clone the repo into the new virtualenv dir
git clone git@github.com:mtaube/mtaube.com.git . -
Install the Python required packages and Node required packages
pip install -r requirements.txt nodeenv --python-virtualenv --requirements=requirements--node.txt npm install -
Configure Django settings
Settings can be configured on a per-environment basis. Check out my blog post about it to see how this project's setting package works.
See Django's settings documentation for all possible configurations.
-
Initialize the database tables (make sure database exists and Django database settings are correct)
python manage.py migrate
-
Run Django's development server
python manage.py runserver -
Automatically compile LESS files on save
grunt watch
All deployment-related tasks are handled using Fabric. See the fabfile for the predefined commands.
-
To deploy an update to the staging or production environments
fab -R staging deploy