Skip to main content

Flash messages for Starlette framework.

Project description

Starlette-Flash

Flash messages for Starlette framework.

PyPI GitHub Workflow Status GitHub Libraries.io dependency status for latest release PyPI - Downloads GitHub Release Date

Installation

Install starlette_flash using PIP or poetry:

pip install starlette_flash
# or
poetry add starlette_flash

Quick start

See example application in examples/ directory of this repository.

Setup

You must install SessionMiddleware to use flash messages.

Flashing messages

To flash a message use flash helper.

from starlette_flash import flash


def index_view(request):
    flash(request).add('This is a message.', 'success')

Using helpers

There are several predefined helpers exists which automatically set the category:

  • success
  • error
  • info
  • debug
from starlette_flash import flash


def index_view(request):
    flash(request).success('This is a message.')
    flash(request).error('This is a message.')
    flash(request).info('This is a message.')
    flash(request).debug('This is a message.')

Reading messages

To get current flash messages without removing them from session, use all method:

from starlette_flash import flash


def index_view(request):
    flash(request).success('This is a message.')

    messages = flash(request).all()
    print(messages)  # {'category': 'success', 'message': 'This is a message.'}

Consuming messages

You can read messages one by one and then clear the storage by using consume method.

from starlette_flash import flash


def index_view(request):
    flash(request).success('This is a message.')

    messages = []
    for message in flash(request).consume():
        messages.append(message)
    print(messages)  # {'category': 'success', 'message': 'This is a message.'}
    print(flash(request).all())  # empty, messages has been consumed

You can iterate the flash bag to consume messages as well:

from starlette_flash import flash


def index_view(request):
    flash(request).success('This is a message.')

    messages = []
    for message in flash(request):
        messages.append(message)
    print(messages)  # {'category': 'success', 'message': 'This is a message.'}
    print(flash(request).all())  # empty, messages has been consumed

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

starlette_flash-0.1.0.tar.gz (4.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

starlette_flash-0.1.0-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file starlette_flash-0.1.0.tar.gz.

File metadata

  • Download URL: starlette_flash-0.1.0.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.1 CPython/3.10.7 Linux/5.15.0-1020-azure

File hashes

Hashes for starlette_flash-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0a27741dee88cbfbe92365de1419d26d66d99d11a2206448733cbf351aabaf3f
MD5 5e2a569c2da7288ebc912d88834e5683
BLAKE2b-256 6341b54a91b5c02a985ef612c799bd254ab5c52655b10d1633fd89e1fb95bee4

See more details on using hashes here.

File details

Details for the file starlette_flash-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: starlette_flash-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.2.1 CPython/3.10.7 Linux/5.15.0-1020-azure

File hashes

Hashes for starlette_flash-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2f5551d0c7a6c362f8fd36b623cd3dbbb7da70410af3e1e163f00cf503fa03d7
MD5 a3cd1bcc244338686767750f0d781c84
BLAKE2b-256 95238dcd89c0718810deaeed7b1c213c3e589574c7dfcc492bb2881f46994dec

See more details on using hashes here.

Supported by

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