В Django я использую sweetalert2

Я использовал sweetalert2 для всплывающих сообщений, он отлично работает при возврате страницы, но когда я

использованный возврат редиректа не работает, есть что-то, что мне нужно добавить.

любая помощь Спасибо

Я хочу, чтобы при отправке пользователем формы появлялся sweetalert2

в представлениях Django

        messages.success(request, 'yes')
        return render(request, 'app/home.html')

Не всплывает

       messages.success(request, 'yes')
       return redirect('app:home')

в html-странице

  {% for message in messages %}
  <script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>
  {% if message.tags == 'success' %}
  <script>
  Swal.fire(
  'good',
  '{{message}}',
  'success'
  )
  </script>
  {% endif %}
 {% endfor %}

Попробуйте этот пакет....

Установите этот пакет, он обеспечивает функциональность sweetalert2 с Django

pip install sweetify

settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp',
    'sweetify',
]

Html код (base.py)

{% load static %}

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>
        {% block title %}
                                      
        {% endblock title %}
    </title>
</head>
<body>
  
  {% block body %}
   
  {% endblock body %}
  <script src="https://cdnjs.cloudflare.com/ajax/libs/limonte-sweetalert2/11.6.5/sweetalert2.all.min.js"></script>
  

</body>
</html>


{% load sweetify %}
{% sweetify %}

view.py

import sweetify
def HomeView(request):
    if request.method == 'POST':
      no = request.POST.get('demono')
      Demo(name=no).save()
      sweetify.success(request, 'Cheers to new toast')
      return redirect('/')
    
    context = {
      'h':'Hello world with django',
      
    }
    return render(request,'index.html',context)

Выход

enter image description here

Вернуться на верх