### Handy functions if you have a single folder that contains a directory for each project

# shortcut commands for Django

### --- Don't use a trailing slash when defining you path

DJANGOPATH = "/path/to/projects/container"

runserver ( )

{

if [ $1 = "--help" ] ; then

echo "Usage: runserver PROJECT_NAME" ;

else

cd ${DJANGOPATH} / $1 ; python manage.py runserver; cd ~;

fi

}

sql ( )

{

if [ $1 = "--help" ] ; then

echo "Usage: sql PROJECT_NAME APP_NAME" ;

else

cd ${DJANGOPATH} / $1 ; python manage.py sql $2 ; cd ~;

fi

}

startproject ( )

{

if [ $1 = "--help" ] ; then

echo "Usage: startproject PROJECT_NAME" ;

else

cd { $DJANGOPATH } ; django-admin startproject $1 project; cd $1 ;

fi

}

startapp ( )

{

if [ $1 = "--help" ] ; then

echo "Usage: startapp [ -p ] APP_NAME PROJECT_NAME" ;

echo ;

echo "By default this starts an app in the current directory because the startproject command changes into the new project." ;

echo ;

echo "By passing the [-p] option you can create an app in any project or destination. Give full /path/to/project if using this option"

elif [ $1 = "-p" ] ; then

django-admin startapp $2 $3 ;

else

django-admin startapp $1 ;

fi

}

syncdb ( )

{

if [ $1 = "--help" ] ; then

echo "Usage: syncdb PROJECT_NAME [ DB_NAME ]" ;

echo

echo "Include DB_NAME if you need to sync a database other than 'default'." ;

elif [ $2 ] ; then

cd { $DJANGOPATH } / $1 ; python manage.py syncdb --database = $2 ; cd ~;

else

cd { $DJANGOPATH } / $1 ; python manage.py syncdb;

fi

}

sqlflush ( )

{

if [ $1 = "--help" ] ; then

echo "Usage: sqlflush PROJECT_NAME [ DB_NAME ]" ;

echo

echo "Include DB_NAME if you need to see sql commands for a database other than 'default'." ;

elif [ $2 ] ; then

cd { $DJANGOPATH } / $1 ; python manage.py sqlflush --database = $2 ; cd ~;

else

cd { $DJANGOPATH } / $1 ; python manage.py sqlflush; cd ~;

fi

}

shell ( )

{

if [ $1 = "--help" ] ; then

echo "Usage: shell PROJECT_NAME" ;

else

cd { $DJANGOPATH } / $1 ; python manage.py shell;

fi

}

flushdb ( )

{

if [ $1 = "--help" ] ; then

echo "Usage: flushdb PROJECT_NAME DB_NAME" ;

echo "This will delete all data from database DB_NAME, keeping the structure."

else

cd { $DJANGOPATH } / $1 ; python manage.py flush --database = $2

fi