前天写了个《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')
本文介绍了一种将ThinkPhp模板转换为Django和Flask框架模板的方法,通过代码复用和继承,实现了从ThinkPhp到Jinja(Flask)再到Django的模板转换。文章分享了具体的转换器类设计,并提供了源码下载。
757

被折叠的 条评论
为什么被折叠?



