SweetAlert integration for Django
Project description
This gem 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.
Add this line to your application’s Gemfile:
pip install --upgrade sweetify
Then you have to add sweetify to your django apps:
INSTALLED_APPS = [
...
'sweetify'
]
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)
Contributing
Everyone is encouraged to help improve this project. Here are a few ways you can help:
Fix bugs and submit pull requests
Write, clarify, or fix documentation
Suggest or add new features
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
Built Distribution
Hashes for sweetify-1.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2aa758b04558d406da751988a2578de58a30b2b6e82c5bd97d64b1ebc3a2cd15 |
|
MD5 | ad1bc600f07fcf4b1ec063c8dcb82d3c |
|
BLAKE2b-256 | dcd924d73e79a84d3a9f536f2e4cd81fa89b7ec23047f4c11a7c8cf2b34c2a91 |