Skip to main content

Session flash messages for aiohttp.web

Project description

aiohttp_session_flash

The library provides flash messages for aiohttp.web on top of aiohttp_session.

“Flash messages” are simply a queue of string messages (or other JSON-serializable objects) stored in the session.

Installation

pip install aiohttp_session_flash

Usage

Add session_middleware and aiohttp_session_flash.middleware to the list of app’s middleware:

app = web.Application(
        middlewares=[
                aiohttp_session.session_middleware(EncryptedCookieStorage(b'x'*32)),
                aiohttp_session_flash.middleware,
        ]
)

Within the handler, pull and push flash messages as needed:

from aiohttp import web

from aiohttp_session_flash import flash, pop_flash


async def foo(request):
        flash(request, "Hello")
        flash(request, ["This", "works", "too"])
        return web.Response(body=b'Flashed some messages')

async def bar(request):
        for message in pop_flash(request):
                print(message)
        return web.Response(body=b'OK')

Template context processor

The template context processor is provided for template libraries that can use it:

aiohttp_mako_context_processors.setup(app, [
        ...
        aiohttp_session_flash.context_processor,
])
<ul>
% for message in get_flashed_messages():
        <li>${message}</li>
% endfor
</ul>

Contributing

Running tests

pip install -r requirements_test.txt
pytest

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiohttp_session_flash-0.0.4.tar.gz (2.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page