zoukankan      html  css  js  c++  java
  • 转换器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

  • 相关阅读:
    onclick中的函数的参数this
    classList的使用
    设置点击鼠标时不跳转
    模块补充shutil,logging
    re模块拾遗和递归函数
    正则表达式-re模块
    软件开发规范
    自定义模块2
    常用模块
    初识自定义模块
  • 原文地址:https://www.cnblogs.com/windfic/p/6501129.html
Copyright © 2011-2022 走看看