tornado template默认压缩空白字符导致coffee无法正确缩进

KJ

第一次使用在 tornado 里面写 coffeescript 的时候, 我被结果惊呆了.

大家知道 coffeescript 的偷懒写法是直接在 html 里面开工

<script type="text/coffeescript">
</script>

但是, tornado 的模版无情的删除了所有缩进(对于html和js文件来说, 这就是压缩)

打开tornado的template.py一看

def __init__(self, template_string, name="<string>", loader=None,
             compress_whitespace=None, autoescape=_UNSET):
    self.name = name
    if compress_whitespace is None:
        compress_whitespace = name.endswith(".html") or \
            name.endswith(".js")

如果是 .html 和 .js 结尾的模版文件渲染, 就会默认开启 compress_whitespace.

当时很沮丧...

不过下一秒钟我们就想到了解决方法: 把文件名改为 .htm 不就好了 :)
你想到了吗?

阅读 2.1k

1.1k 声望
20 粉丝
0 条评论
你知道吗?

1.1k 声望
20 粉丝
宣传栏