• python jinja 模板教程


    前段时间需要做一个模板处理的工作,因为需要在模板里面进行逻辑处理,简单的元组字符串替换和关键字字符串替换已经不能满足需求了。所以选择python的第3方模板引擎来实现这个功能。目前大家用的比较多的模板引擎主要是:mako和jinja。 我对比了下,发现jinja的模板引擎和django的语法还是比较相似的,于是我选择了jinja作为我的模板引擎。

    首先我到jinja的官网上下载了源码包,并且进行了安装。然后看了下官方的文档,进行了简单的一些功能的测试,为以后的开发做准备。

    现在开始简单的操作:
    先在python里面进行模板的启动和赋值

    env = Environment(loader=PackageLoader('mbtest', 'templates'))###mbtest是一个模块,里面内容可以随意写,tempaltes是模板的文件夹名,jinja模板可以操作模板的列表。

    tpl = env.get_template('b2b-product.php')##模板名称
    randarticle = rand_article(randnum)
    keyword = ‘test’
    minfo = []
    displayinfo = {'ptitle':ptitle,'pdescription':pdescription}##python有的时候可以把字典看做对象来操作。里面的key就是对象的属性,val则是对象的属性值。

    minfo.append(displayinfo)

    tplcontent = tpl.render(minfo=minfo,keyword=keyword,randarticle=randarticle)##模板变量赋值

    模板处理:
    这里只是简单的进行模板的赋值,模板的循环输出等。

    tpl.render(minfo=minfo,keyword=k[1],randarticle=randarticle)

    keyword在模板里输出是{{keyword}} 变量的格式都是{{}}
    语句在模板里面输出是{% %} 都和django的语法比较相似,如果熟悉django的话,会感觉非常的亲切。

    {% for k in minfo %}
    {{k.ptitle}}
    {{k.pdescription}} 
    {% endfor %}


    这个只是简单的进行一些模板的操作,后续我会更新一些更加复杂的应用,你也可以参考一下官方的文档

  • 相关阅读:
    Python 日志处理(三) 日志状态码分析、浏览器分析
    Python 日志处理(二) 使用正则表达式处理Nginx 日志
    mongodb关联查询 和spring data mongodb
    redis实现分布式锁
    springboot使用过滤器和拦截器
    springboot使用schedule定时任务
    fastjson格式化输出内容
    logback-spring.xml
    spring data jpa封装specification实现简单风格的动态查询
    spring data jpa自定义baseRepository
  • 原文地址:https://www.cnblogs.com/wanpython/p/2794556.html
Copyright © 2020-2023  润新知