Flask extension to help register functions to run at the end of the current request.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Brett Langdon bb4e71b355
Fix merge conflicts
9 years ago
.gitignore Initial version of module 9 years ago
.travis.yml Fix travis build 9 years ago
CHANGELOG Always use request context 9 years ago
LICENSE Initial version of module 9 years ago
MANIFEST.in Initial version of module 9 years ago
README.rst Allow calling after_request outside of request context 9 years ago
example.py Initial version of module 9 years ago
flask_defer.py Always use request context 9 years ago
setup.py Always use request context 9 years ago
test_flask_defer.py Always use request context 9 years ago

README.rst

Flask-Defer
=========

.. image:: https://badge.fury.io/py/flask-defer.svg
:target: https://badge.fury.io/py/flask-defer
.. image:: https://travis-ci.org/brettlangdon/flask-defer.svg?branch=master
:target: https://travis-ci.org/brettlangdon/flask-defer

Easily register a function to execute at the end of the current request.

Installation
~~~~~~~~~~~~

.. code:: bash

pip install Flask-Defer


Usage
~~~~~

Passing a function and it's arguments to `flask_defer.after_request` will register that function to execute when the Flask request has ended.

If a call to `flask_defer.after_request` happens outside of a request context then the function will be executed immediately.

.. code:: python

from flask import Flask
from flask_defer import FlaskDefer, after_request

app = Flask(__name__)
FlaskDefer(app)


def defer_me(name, say_hello=False):
if say_hello:
print 'Saying hello to, {name}'.format(name=name)


@app.route('/')
def index():
print 'Start of request method'

# Defer `defer_me` until after the current request has finished
after_request(defer_me, 'name', say_hello=True)

print 'Ending request method'

return 'Thanks!'


if __name__ == '__main__':
app.run()


.. code:: bash

$ python example.py
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Start of request method
Ending request method
Saying hello to, name
127.0.0.1 - - [28/Nov/2016 15:41:39] "GET / HTTP/1.1" 200 -