转换器2:ThinkPhp模板转Django模板

Posted 天下云飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转换器2:ThinkPhp模板转Django模板相关的知识,希望对你有一定的参考价值。

前天写了个《Thinkphp模板转Flask模板》

居然被同事鄙视了,原因是他用Django,我用Flask,为了避免被他继续安利Django的强大。我决定写一个Django模板转换器。

为了复用代码,得用继承,我把原代码分成三段,一下子获得了三个转换器。

class ConverterTemplateEncoding(object):
    separators = [(\'<\', \'>\')]

    def __init__(self):
        self.match = {\'opening\': 0, \'closing\': 0, \'extra\': 0, \'script\': \'\', \'content\': \'\', \'cache\': \'\', \'separator\': ()}

    def convert_tag(self, tag, extra=\'\'):
        return tag
...

class ConverterThinkPhp2Jinja(ConverterTemplateEncoding):
    separators = [(\'{\', \'}\'), (\'__\', \'__\'), (\'<\', \'>\'), (\'<?\', \'?>\')]


class ConverterThinkPhp2Django(ConverterThinkPhp2Jinja):
    pass

我没有说的是Flask模板与Django模板其实相差无几,至少我没有实现。哈。

if __name__ == \'__main__\':
    ConverterThinkPhp2Jinja().convert_templates(\'src\', \'dst\')

 

源码:converterV0.2.zip

 

以上是关于转换器2:ThinkPhp模板转Django模板的主要内容,如果未能解决你的问题,请参考以下文章

thinkphp使用smarty模板后如何配置success和error跳转页面

thinkphp3.2.3+smarty解决success调用模板错误心得

ThinkPHP3.2.2自定义success及error跳转页面

ThinkPHP模板之变量输出、自定义函数与判断语句用法

django-跳转页面--模板-自定义过滤器

thinkphp3.2.3在模板中调用方法