Difference between revisions of "Academy"
(14 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 | + | 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 25: | Line 30: | ||
| | | | ||
|__ mezzanine - the Mezzanine application (cloned from github) | |__ 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 <code>~/mezzanine-env/mezzanine/mezzanine/bin/mezzanine-project</code>: | ||
+ | |||
+ | #!/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! |
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!