Jinja2:脚本标记内的脚本

时间:2016-03-05 02:47:25

标签: javascript macros jinja2

我是JS和Jinja2世界的新人,所以请考虑一下。

我有一个表单,其中嵌入了另一个Popup表单。弹出窗体代码如下所示:

{% block script %}
    <script type="type/html" data-tpl="popup_form">
        <div>...</div>
        <div>...</div>
        <div>...</div>
        <div>...</div>
        <div>
            <input class="Btn" type="button" value="Update"/>
        </div>
    </script>

    <script>
        // Calling another script SCRIPT_2
    </script>
{% endblock script %}

在那种形式中,我想添加一个时间范围选择器,其中已经有另一个文件中定义的JS函数。为此,我在“更新”的上方添加了一个Jinja2宏。按钮。宏功能如下所示:

{% block script %}
    <script type="type/html" data-tpl="popup_form">
        <div>...</div>
        <div>...</div>
        <div>...</div>
        <div>...</div>
        {{ time_range(form) }}      // Macro Calling From Here
        <div>
            <input class="Btn" type="button" value="Update"/>
        </div>
    </script>

    <script>
        // Calling another script SCRIPT_2
    </script>
{% endblock script %}


{% macro time_range(form) %}
    <div>...</div>
    <script>
        $(function() {
            $('#id_start_alert_from, #id_end_alert_at')
                .each(modules.timeSelector);
        });
    </script>
{% endmacro %}

现在,我已按照我的意愿在表单中添加了时间范围行,但是更新了#39;按钮已经弹出Popup。我知道问题是因为Jinja2认为脚本已经结束,因为</script>标签来自Macro,但我不知道如何解决这个问题。

为了调用JS timeSelector函数,我尝试了不同的东西,但没有任何工作,我需要一些帮助。

0 个答案:

没有答案