Django使用toastr的解决办法

自己的疑惑

        不知道各位大神是如何实现直接引用以下的toastr

{% for message in messages %} 
   toastr.{{ message.tags }}("{{ message }}");
 {% endfor %} 

        我已经引入的toastr的jquery,css,js、顺序也是没有问题的,上网也查过许多资料,但还是显示没有定义

        Uncaught ReferenceError: toastr is not defined at (索引):351:13 

        希望有大神留下评论指点迷津

解决办法

        我自己使用的笨办法,当后端传递message时,重写一次toast()以实现效果

        准备工作,前端引入的文件

<link href="{% static 'assets/plugins/jquery-toast/jquery.toast.min.css' %}" rel="stylesheet" type="text/css">

<script src="{% static 'assets/plugins/jquery-toast/jquery.toast.min.js' %}"></script>

        上面是我自己本机的路径,自己编写的toast的css样式,如需测试请到官网下载官方所给的toast样式和jquery 官网地址:Toastr by CodeSeven


        后端

from django.contrib import messages


form = SetRaceModelForm(instance=current_race,data=request.POST)
if form.is_valid():
form.save()
messages.success(request,'修改成功!')
return render(request,'planner_update_race.html',{'form':form})

         这里后端写的是修改数据,成功保存到数据库后提示前台的信息,message传递信息的详细用法可到python 官网查看


        前端

<script type="text/javascript">
    $.toast().reset('all');
    $("body").removeAttr('class');
    {% for msg in messages %}
        setTimeout(function() {
            $.toast({
                heading: '{{ msg.tags }}',
                text: '{{ msg.message }}',
                position: 'top-right',
                loaderBg: '#FFBD4A',
                icon: '{{ msg.tags }}',
                hideAfter: 5000
            });
        }, 5000 * {{ forloop.counter0 }});
    {% endfor %}
</script>

         这里写的关于自己的toastr样式,后台传进来的内容是 【修改成功】

        实现的效果如下:

        

        以上就是自己重写toastr的本方法,如果有更好的办法,希望您能在评论区留言,上网找了许久也没有找到python专门适合toastr的包,Flask-Toastr 0.5.2,不知道此包能否适合Django的使用,还未尝试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值