javascript - flask web前端如何在{}内部使用{{}}

查看:62
本文介绍了javascript - flask web前端如何在{}内部使用{{}}的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

正常代码

<script>
    $(document).ready(function () {
        var update = setInterval(function () {
            {% for ip in lis %}
                $("#{{ ip[0] }}").load("/tools/state/",{"ip":"192.168.1.1" });
            {% endfor %}
        },1000);
    });
    {% for ip in lis %}
        {{ ip[0] }}
    {% endfor %}
</script>

里面{"ip":"192.168.1.1" }的IP段是想用传值的{{ ip[1] }}代替的可是直接这么写进去是不生效的,大概是因为外部已经有了{}了,这该怎么插入进去呢?

解决方案

在一本讲flask的书里面找到了答案,这种在html模板中写入语法的方式应该叫jinja语法(个人理解),jinja语法里可以使用for语句if语句等等,而我这里的需求就要用到jinja的过滤器,这里面有safe、default、float、int等等。我需要用到的就是tojson,写法:

<script>
    $(document).ready(function () {
        var update = setInterval(function () {
            {% for ipl in lis %}
                $("#{{ ipl[0] }}").load("/tools/state/",{{ {'ip':ipl[1]} | tojson }});
            {% endfor %}
        },5000);
    });
</script>

这么写就能保证我传过去的对象是可被json模块序列化的。

这篇关于javascript - flask web前端如何在{}内部使用{{}}的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆