As an example:
def get_booking(f=None): print "Calling get_booking Decorator" def wrapper(request, **kwargs): booking = _get_booking
A decorator is called as soon as the decorated function is defined. It is equivalent to writing something like this:
def __do_stuff(...): ... do_stuff = get_booking(__do_stuff)