Тост с сообщением Django CreateView Как показать
Я новичок в Django и создаю CRUD. Однако я хочу показать сообщение Success в тосте при успешном сабмите, но я не знаю, как именно это сделать. Класс представления после вставки корректно перенаправляет в List, но сообщения не показывает. Вот мой класс представления
class AlmacenesCreateView(SuccessMessageMixin, CreateView):
model = Almacen
form_class = AlmacenesForm
template_name = 'pages/create.html'
success_url = reverse_lazy('almacenes')
success_message = "Bien!!!!"
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['title'] = "New Almacen"
return context
А это сценарий для тоста
$(function () {
let mensaje ="{{ messages.0 }}";
const Toast = Swal.mixin({
toast: true,
position: 'top-end',
showConfirmButton: false,
timer: 3000
});
if (mensaje != "") {
Toast.fire({
icon: 'success',
title: mensaje,
})
}
});
Мое сомнение в том, как я могу показать сообщение об успехе
Следовали ли вы документации здесь и здесь :
В своем шаблоне используйте что-то вроде:
{% if messages %} <ul class="messages"> {% for message in messages %} <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li> {% endfor %} </ul> {% endif %}
Затем вы можете проверить в консоли, нет ли у вас ошибок Javascript для вашего кода. Я никогда не использовал библиотеку Swal
.
Вы должны перебирать сообщения и затем выводить иконку соответственно
{% for message in messages %}
<script>
$(function () {
let mensaje ="{{ message }}";
const Toast = Swal.mixin({
toast: true,
position: 'top-end',
showConfirmButton: false,
timer: 3000
});
if (mensaje != "") {
Toast.fire({
icon: "{% if message.tags %}{{ message.tags }}{% endif %}",
title: mensaje,
})
}
});
</script>
{% endfor %}
Вы даже можете рассмотреть возможность использования таких вещей
Swal.fire({
title: "Thank you?",
text: "success message here",
type: "success",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes, delete it!",
closeOnConfirm: false
}, function() {
swal("Successful!", "success message here", "success");
});
});