Sql and cache tracking in local development for django

While developing django applications, did you ever get confused about the unexpected result by the query generated by ORM and wished to check that query? There is a good solution. I have a habit of watching #django at times and thats how I got to know about this. Its django-devserver. Package is available here - http://github.com/dcramer/django-devserver/. After installing(with dependancies) you need to include devserver in INSTALLED_APPS in your settings file as:

INSTALLED_APPS = (
    'devserver',
)

and also you have to add a new tuple in settings as DEVSERVER_MODULES. This is for specifying which all modules to load.

DEVSERVER_MODULES = (
    'devserver.modules.sql.SQLRealTimeModule',
    'devserver.modules.sql.SQLSummaryModule',
    'devserver.modules.profile.ProfileSummaryModule',

    # Modules not enabled by default
    'devserver.modules.ajax.AjaxDumpModule',
    'devserver.modules.profile.MemoryUseModule',
    'devserver.modules.cache.CacheSummaryModule',
)

You will have to use python manage.py rundevserver instead of python manage.py runserver to run your development server. Then you will get additional informations like real-time SQL-Loggings and a summary of your cache calls

Go through the Read Me file before installing.

NB:- Beware - your terminal may get spammed by the sql-logs :p

Happy coding!

The script

I am not gonna tell about some scripting languages, but script.

script is a GNU project which is a simple terminal application which can log the activities in a terminal with their outputs. To start script, you just have to give script in your terminal. Then you will see a message saying Script started, file is typescript (If you have to mention filename, then give script <filename> ). Once you finished up with everything which needs to be logged, just press ctrl-d or exit and that will exit script with a message script done, file is typescript(or filename you seleced). For the better view of the log, use cat or more.

It is helpful to show somebody a log about what you have done in terminal. This terminal logger is quite a simple and useful application right?

Script

GNU screen: The Terminal Multiplexer

Are you a terminal/konsole freak? Then you might be knowing it else you will love it.

At times most of us used to face the worst scenario that a single terminal window with hell lot of tab opened or multiple terminal windows itself. Do you need anything else to hang urself?

A simple & humble solution - screen :) Most of the linux distros comes with screen installed by default. 

Most effective usages - The basic usage I have already told you. And another interesting one is here. Did you ever think about terminal sharing? screen can be used somewhat like desktop sharing.

To start screen, all you have to do is just type screen On your terminal. You can create any number of windows in a single screen. To create new screen, you have to give ctrl-a c and a simple ctrl-d (logout) will end the current window. ctrl-a n & ctrl-a p to switch between next & previous windows. ctrl-a N will give you an option to enter window number & switch to that window. ctrl-a " will list all the windows, you can use arrow keys to select.

Terminal Sharing: start screen from machine A, from machine B ssh to A and then use screen -x to get into the already started screen. From both machines it is able to use the same screen in real time just like VNC for remote desktop.

In short it is a terminal application which allows any number of terminal application in single terminal window & single screen can be accessed from multiple terminals ;)

other options for screen is shown in the image:

Screen