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

第一次使用在 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 不就好了 :)
你想到了吗?

    原文作者:KJ
    原文地址: https://segmentfault.com/a/1190000000651843
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞