epcim
10/20/2015 - 11:17 AM

django.howto.md

Django totorials for WEBFACTION

SET UP ENVIRONMENT #1

virtualenv

easy_install virtualenv
easy_install pip
pip install virtualenvwrapper
pip install mercurial

hg clone https://bitbucket.org/siberiano/fastdev-django apealive
rm -f $_/.hg/hgrc

MEMCACHED

APPL=apealive_blog
PYVE=2.7
PYTHONPATH=$HOME/webapps/$APPL/lib/python$PYVE/ \
easy_install-$PYVE --install-dir=$HOME/webapps/$APPL/lib/python$PYVE/ \
--script-dir=$HOME/webapps/$APPL/bin/ XXXYY

SET UP ENVIRONMENT #2

svn co http://code.djangoproject.com/svn/django/trunk/ django-trunk

cd $HOME/hg2g/dev/workspace-django
WORKING_DIR=$PWD
SITE_PACKAGES_DIR=/usr/local/lib/python2.7/site-packages

rm -f /tmp/django.pth;
echo $WORKING_DIR/django_trunk > /tmp/django.pth; sudo cp /tmp/django.pth $SITE_PACKAGES_DIR/django.pth
sudo ln -s $WORKING_DIR/django_trunk/django/bin/django-admin.py /usr/local/bin
chmod u+x $WORKING_DIR/django_trunk/django/bin/django-admin.py

PIP AND VIRTUALENV

sudo apt-get install python-setuptools python-dev build-essential ipython python-imaging
sudo easy_install -U pip
sudo pip install -U virtualenv

SET UP NEW PROJECT

DJANGO & ENV

PROJECT=example.com
virtualenv --no-site-packages django-$PROJECT
source django-$PROJECT/bin/activate
pip search django > pip_django_packages.txt

pip install -E django-$PROJECT Django==1.3.1

pip install -E django-$PROJECT django-app-plugins django-openid-auth django-contact-form \
django-dajax django-dajaxice Djblets django-extensions django-filebrowser \
django-formfieldset django-nose django-piston django-reversion South \
django-threaded-multihost

pip install -E django-$PROJECT django-cms django-classy-tags django-mptt django-sekizai \ 
django-filer cmsplugin-filer

pip install django-less

pip install django_polymorphic django-shop

pip install -E django-$PROJECT Pinax

DB POSTGRESQL

PROJECT=example.com

CREATE USER AND DB

sudo su - postgres
createuser -U postgres --no-superuser --no-createdb --no-createrole   -E -P django_$PROJECT
createdb -U postgres -O django_$PROJECT -E UTF8 django_$PROJECT

DUMP TO SQL

sudo su - postgres
pg_dump django_$PROJECT --host localhost --port 5432 --username postgres --format plain --verbose --file "/tmp/db.sql"
exit

cp /tmp/db.sql db-django_$PROJECT-`date "+%Y-%m-%d"`.sql; bzip2 $_

MEMCACHED

memcached start -d -l 127.0.0.1 -m 8 -P /tmp/memcached.pid -p 49166

PROJECT MIGRATION

# creating requirements file from a virtualenv setup
$ pip freeze -E django-$PROJECT > requirements.txt
# installing from a requirements file
$ pip install -E django-$PROJECT -r requirements.txt

DEVELOPEMENT

Editor / py files setup

#-*- coding: utf-8 -*-

RUN LOCAL

PROJECT=example.com
cd $WORK_DIR/example.com
cd "django-$PROJECT" || cd "$PROJECT-env"
#export PATH=$HOME/hg2g/dev/workspace-django/$PROJECT/$PROJECT-env/bin:$PATH

export PYTHONPATH=.:..:`pwd`/lib/python
export DJANGO_SETTINGS_MODULE=settings
python ./manage.py runserver &
echo "firefox --new-tab http://127.0.0.1:8000/ "

firefox --new-tab http://127.0.0.1:8000/

DJANGO-CMS

django-admin.py startproject mycmsproject
cd mycmsproject
mv settings.py settings.py.puvodni
mv urls.py urls.py.puvodni
wget https://gist.github.com/raw/1125918/settings.py
wget https://gist.github.com/raw/1125918/urls.py
mkdir templates
cd templates
wget https://gist.github.com/raw/1125918/example.html
cd ..
INIT
python manage.py syncdb --all
python manage.py migrate --fake
UPGRADE
python manage.py syncdb
python manage.py migrate
SOUTH

PINAX

pinax-admin setup_project mypinaxproject

Web snapshot, webshot - WEB2KIT on WEBFACTION

How I installed webkit2png.py in webfaction's python2.5. 25 March 2010 - all newest versions as of today. Make sure to bring plenty of time / other work... :-)

Install Qt4

cd ~
mkdir qt install
cd install
wget http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-4.6.2.tar.gz
tar xzf qt-everywhere-opensource-src-4.6.2.tar.gz 
cd qt-everywhere-opensource-src-4.6.2
./configure --prefix=$HOME/qt
gmake && gmake install

SIP

cd ~/install
wget http://www.riverbankcomputing.co.uk/static/Downloads/sip4/sip-4.10.1.tar.gz
tar xzf sip-4.10.1.tar.gz 
cd sip-4.10.1
mkdir ~/share/sip
python2.5 configure.py -b $HOME/bin -d $HOME/lib/python2.5 -e $HOME/include/python2.5/ -v $HOME/share/sip/
make && make install

PyQt4

cd ~/install
wget http://www.riverbankcomputing.co.uk/static/Downloads/PyQt4/PyQt-x11-gpl-4.7.2.tar.gz
tar xzf PyQt-x11-gpl-4.7.2.tar.gz 
cd PyQt-x11-gpl-4.7.2
python2.5 configure.py -q $HOME/qt/bin/qmake -d $HOME/lib/python2.5 -b $HOME/bin
make && make install

xvfb-run

cd ~/install
wget http://www.flexthinker.com/wp-content/uploads/2009/09/xvfb-run.sh.txt
cp xvfb-run.sh.txt ~/bin/xvfb-run
chmod a+x ~/bin/xvfb-run

webkit2png.py

cd ~/install
##wget http://www.dau-sicher.de/blog/webkit2png.py
## (Simple copy and shebang change to python2.5 in one)
##sed '1s/python/python2.5/' webkit2png.py >~/bin/webkit2png
##chmod u+x ~/bin/webkit2png
wget https://raw.github.com/AdamN/python-webkit2png/master/webkit2png.py -O webkit2png.py
sed '1s/python/python2.5/' webkit2png.py >~/bin/webkit2png
chmod u+x ~/bin/webkit2png

Test webkit2png(.py)

cd ~
webkit2png -x -g 1280 960 -o google.png http://www.google.co.nz/

real usage

URL=engadget.com; xvfb-run -a --server-args="-screen 0, 1440x1200x24" webkit2png -x -g 1024 1200 -o ~/tmp/webshot.png http://$URL