Skip to main content

Sweetify - SweetAlert for Django

Build Status Latest Version Coverage Status

Sweetify allows you to use SweetAlert or SweetAlert2 for your temporary messages. See the examples below, to see how to use this library

Installation

Note: This package does not provide the client-side files of SweetAlert. You have to provide them yourself.

Install the latest version with pip:

pip install --upgrade sweetify

Then you have to add sweetify to your django apps:

INSTALLED_APPS = [
    ...
    'sweetify'
]

Next up you have to specify, in your settings, which library you are using (SweetAlert or SweetAlert2):

# possible options: 'sweetalert', 'sweetalert2' - default is 'sweetalert2'
SWEETIFY_SWEETALERT_LIBRARY = 'sweetalert2'

Next add the following lines to the bottom of your layout/base template:

...

{% load sweetify %}
{% sweetify %}

</body>
</html>

Usage

You can now easily create alerts in your views with any of the following methods provided by Sweetify:

import sweetify

# Base method with no type specified
sweetify.sweetalert(self.request, 'Westworld is awesome', text='Really... if you have the chance - watch it!' persistent='I agree!')

# Additional methods with the type already defined
sweetify.info(self.request, 'Message sent', button='Ok', timer=3000)
sweetify.success(self.request, 'You successfully changed your password')
sweetify.error(self.request, 'Some error happened here - reload the site', persistent=':(')
sweetify.warning(self.request, 'This is a warning... I guess')

Example Usage

import sweetify

def test_view(request):
    sweetify.success(request, 'You did it', text='Good job! You successfully showed a SweetAlert message', persistent='Hell yeah')
    return redirect('/')

Replacement for SuccessMessageMixin

Sweetify includes a drop-in replacement for SuccessMessageMixin. Just replace the Django mixin with Sweetify's SweetifySuccessMixin and you are good to go.

from sweetify.views import SweetifySuccessMixin

class TestUpdateView(SweetifySuccessMixin, UpdateView):
    model = TestModel
    fields = ['text']
    success_message = 'TestModel successfully updated!'

Options

By default, all alerts will dismiss after a sensible default number of seconds.

Default options set by Sweetify:

sweetify.DEFAULT_OPTS = {
    'showConfirmButton': False,
    'timer': 2500,
    'allowOutsideClick': True,
    'confirmButtonText': 'OK',
}

The following special options provided by Sweetify are available:

# Shows the alert with a button, but will still close automatically
sweetify.sweetalert(self.request, 'Title', button=True)
sweetify.sweetalert(self.request, 'Title', button='Awesome!') # Custom text for the button

# Shows the alert with a button and only closes if the button is pressed
sweetify.sweetalert(self.request, 'Title', persistent=True)
sweetify.sweetalert(self.request, 'Title', persistent='Awesome!') # Custom text for the button

You also can use any other available option that SweetAlert accepts:

sweetify.info(self.request, 'Sweet!', text='Here is a custom image', imageUrl='images/thumbs-up.jpg', timer=5000)

Development

Use the Makefileto execute common tasks:

  • Install dependencies
$ make install
  • Run all tests
$ make test

Contributing

Everyone is encouraged to help improve this project. Here are a few ways you can help:

Download files

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

Source Distribution

sweetify-2.0.0.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

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

sweetify-2.0.0-py2.py3-none-any.whl (6.5 kB view details)

Uploaded Python 2Python 3

File details

Details for the file sweetify-2.0.0.tar.gz.

File metadata

  • Download URL: sweetify-2.0.0.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.12 CPython/3.7.3 Darwin/18.6.0

File hashes

Hashes for sweetify-2.0.0.tar.gz
Algorithm Hash digest
SHA256 ae776b3f956f4a9af7236a613ba77b61002f690e7a60c0bc7368e01e82f64b91
MD5 3748a5dada961498010dc209d5a93e09
BLAKE2b-256 2fff1906f06a4e764313877e3757a6db98c026332fb0b9b511e1bf77299e1534

See more details on using hashes here.

File details

Details for the file sweetify-2.0.0-py2.py3-none-any.whl.

File metadata

  • Download URL: sweetify-2.0.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.12 CPython/3.7.3 Darwin/18.6.0

File hashes

Hashes for sweetify-2.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c57c1676eeac680a9acd645af1750edbe0d2fbf0128b276634e74ea890cd2979
MD5 9a7d3f0d045fec876ea17105a0842920
BLAKE2b-256 eb57df07cc01dbc883d4a554170d9f2f2a18a6dc93a26ab3104fe7f16797a798

See more details on using hashes here.

Release history Release notifications | RSS feed

2.3.1

2 files

2.3.0

2 files

2.2.0

2 files

2.1.0

2 files

This release

2.0.0 This release

2 files

1.0.3

2 files

1.0.1

2 files

1.0.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page