Python 导入时转义HTML

Python 导入时转义HTML,python,html,flask,escaping,jinja2,Python,Html,Flask,Escaping,Jinja2,我正在使用Flask和Jinja2模板创建自定义表单。在这些表单中,我需要在字段值更改时更改表单的一部分 基本上,我的表单有一个selectcontent类型,我可以在其中选择一个内容类型,然后选择一个fieldsetcontent,当select的值改变时,它的HTML应该改变。根据select的值,我有几个HTML模板 我的JS看起来像这样: <script type="text/javascript"> $(function () { $("select

我正在使用Flask和Jinja2模板创建自定义表单。在这些表单中,我需要在字段值更改时更改表单的一部分

基本上,我的表单有一个selectcontent类型,我可以在其中选择一个内容类型,然后选择一个fieldsetcontent,当select的值改变时,它的HTML应该改变。根据select的值,我有几个HTML模板

我的JS看起来像这样:

<script type="text/javascript">
    $(function () {
        $("select#content-type").change(function () {
            switch ($(this).val()) {
                case "type1":
                    var html = "{% include "type1.html" | escape %}";
                    $("fieldset#content").html(html);
                    break;
                // ...
            }
        });
    });
</script>

问题是,转义过滤器在include语句中不起作用,safe也不起作用。我如何才能做到这一点,或者是否有更好的方法来完成我正在尝试的工作?

有一些解决方案

实现这一点的一个简单方法是使用一个帮助CSS类隐藏表单中所有与内容类型相关的部分,例如隐藏{display:none;},当客户端选择某个对象时,只需删除这个类:$divtype1.removeclasshhide;从适当的部门

另一种方法是使用Ajax请求加载表单的内容类型相关部分。您可以定义一个类似/loadform的路由,服务器在其中读取并打印相应的模板文件。然后可以将响应HTML注入原始表单

第三种方法是在客户端选择内容类型时使用javascript提交部分填充的表单,然后呈现完整表单