Skip to main content

SweetAlert integration for Django

Project description

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


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:


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

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

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


{% load sweetify %}
{% sweetify %}



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, '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!'


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:, 'Sweet!', text='Here is a custom image', imageUrl='images/thumbs-up.jpg', timer=5000)


Use the Makefileto execute common tasks:

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


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

Project details

Download files

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

Files for sweetify, version 2.0.0
Filename, size File type Python version Upload date Hashes
Filename, size sweetify-2.0.0.tar.gz (5.5 kB) File type Source Python version None Upload date Hashes View
Filename, size sweetify-2.0.0-py2.py3-none-any.whl (6.5 kB) File type Wheel Python version py2.py3 Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page