werkzeug.LocalStack

class werkzeug.LocalStack[source]

This class works similar to a Local but keeps a stack of objects instead. This is best explained with an example:

>>> ls = LocalStack()
>>> ls.push(42)
>>> ls.top
42
>>> ls.push(23)
>>> ls.top
23
>>> ls.pop()
23
>>> ls.top
42

They can be force released by using a LocalManager or with the release_local() function but the correct way is to pop the item from the stack after using. When the stack is empty it will no longer be bound to the current context (and as such released).

By calling the stack without arguments it returns a proxy that resolves to the topmost item on the stack.

New in version 0.6.1.

Methods

__init__()
pop() Removes the topmost item from the stack, will return the old value or None if the stack was already empty.
push(obj) Pushes a new item to the stack

Attributes

top The topmost item on the stack.