Difference between revisions of "Academy"

From Jon's Wiki
Line 41: Line 41:
  
 
  chmod +x ~/mezzanine-env/mezzanine/bin/mezzanine-project
 
  chmod +x ~/mezzanine-env/mezzanine/bin/mezzanine-project
 +
 +
Now you should be able to create your own new Mezzanine project, inside your Python virtual environment:
 +
 +
cd ~/mezzanine-env
 +
mezzanine-project hogwarts-blog

Revision as of 23:24, 14 January 2013

Hizees! We're going to hack on Mezzanine, a Django Content Management System (CMS).

Install Mezzanine

Firstly, install and start a Python virtual environment:

sudo apt-get install python-virtualenv
virtualenv mezzanine-env
cd mezzanine-env
source bin/activate

You should now be in a Python virtual environment. This will isolate your Python libraries from the system's ones in case stuff breaks. Now install some dependencies:

sudo apt-get install python-pip python-imaging pyflakes pep8 python-tz

Then grab it from github:

git clone https://github.com/stephenmcd/mezzanine.git

You should have a directory structure something like:

~
|
|__ mezzanine-env      - the Python virtual environment
    |
    |__ mezzanine      - the Mezzanine application (cloned from github)

Running the github version of Mezzanine

The instructions assume you're not a hacker wanting to work on the codebase. Consequently, we need to wire up the github version. First, get the bin directory on your path:

export PATH=/home/$USER/mezzanine-env/mezzanine/bin:$PATH

Then, we're going to hack-a-saurus a wee shell script in ~/mezzanine-env/mezzanine/bin/mezzanine-project:

#!/bin/sh
export PYTHONPATH=/home/USERNAME/mezzanine-env/mezzanine:$PYTHONPATH
python $(dirname $0)/mezzanine_project.py

Then make it executable:

chmod +x ~/mezzanine-env/mezzanine/bin/mezzanine-project

Now you should be able to create your own new Mezzanine project, inside your Python virtual environment:

cd ~/mezzanine-env
mezzanine-project hogwarts-blog