Difference between revisions of "Academy"

From Jon's Wiki
 
(13 intermediate revisions by the same user not shown)
Line 6: Line 6:
  
 
  sudo apt-get install python-virtualenv
 
  sudo apt-get install python-virtualenv
 +
 +
once installed, create an environment for Mezzanine:
 +
 +
cd ~
 
  virtualenv mezzanine-env
 
  virtualenv mezzanine-env
 
  cd mezzanine-env
 
  cd mezzanine-env
Line 12: Line 16:
 
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:
 
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
+
  sudo apt-get install python-dev
 +
pip install django pil filebrowser-safe bleach grappelli-safe django-compressor pytz pyflakes pep8
  
 
Then grab it from github:
 
Then grab it from github:
Line 28: Line 33:
 
=== Running the github version of Mezzanine ===
 
=== 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:
+
The instructions assume you're not a hacker wanting to work on the codebase. Consequently, we need to wire up the github version. We need to get the Mezzanine bin directory on your path, and the Mezzanine project directory into Python's include path. At your shell prompt:
  
  export PATH=/home/$USER/mezzanine-env/mezzanine:$PATH
+
  export PATH=/home/''USERNAME''/mezzanine-env/mezzanine/mezzanine/bin:$PATH
 +
export PYTHONPATH=/home/''USERNAME''/mezzanine-env/mezzanine:$PYTHONPATH
  
Then, we're going to hack-a-saurus a wee shell script in <code>~/mezzanine-env/mezzanine/bin/mezzanine-project</code>:
+
Then, we're going to hack-a-saurus a wee shell script in <code>~/mezzanine-env/mezzanine/mezzanine/bin/mezzanine-project</code>:
  
 
  #!/bin/sh
 
  #!/bin/sh
  export PYTHONPATH=/home/johnno/mezzanine:$PYTHON_PATH
+
  export PYTHONPATH=/home/''USERNAME''/mezzanine-env/mezzanine:$PYTHONPATH
  python $(dirname $0)/mezzanine_project.py
+
  python $(dirname $0)/mezzanine_project.py $*
  
 
Then make it executable:
 
Then make it executable:
  
  chmod +x ~/mezzanine-env/mezzanine/bin/mezzanine-project
+
  chmod +x ~/mezzanine-env/mezzanine/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
 +
 
 +
Now we can use manage.py to run the project:
 +
 
 +
cd hogwarts-blog
 +
python manage.py createdb
 +
python manage.py runserver 0.0.0.0:8000
 +
 
 +
Now go to http://127.0.0.1:8000/ in your browser!

Latest revision as of 04:25, 15 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

once installed, create an environment for Mezzanine:

cd ~
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-dev
pip install django pil filebrowser-safe bleach grappelli-safe django-compressor pytz pyflakes pep8

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. We need to get the Mezzanine bin directory on your path, and the Mezzanine project directory into Python's include path. At your shell prompt:

export PATH=/home/USERNAME/mezzanine-env/mezzanine/mezzanine/bin:$PATH
export PYTHONPATH=/home/USERNAME/mezzanine-env/mezzanine:$PYTHONPATH

Then, we're going to hack-a-saurus a wee shell script in ~/mezzanine-env/mezzanine/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/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

Now we can use manage.py to run the project:

cd hogwarts-blog
python manage.py createdb
python manage.py runserver 0.0.0.0:8000

Now go to http://127.0.0.1:8000/ in your browser!