• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    python jinja2模板的使用示例

    模板的用处

    jinja2 可以用来修改配置文件,把配置文件的关键地方可以用变量来进行替换

    模板语法

    模板语法和django的模板语法差不多 在jinja2中,存在三种语法:

    1. 控制结构{% %}
    2. 变量取值{{ }}
    3. 注释{# #}
    4. for 循环
    {% for user in users %}
    {{user.username}}
    {% endfor %}
    

    迭代字典

    {% for key,value in my_dict.iteritems() %}
    {{ key }}
    {{ value }}
    {% endfor %}
    

    过滤器
    常用的过滤器有:

    {{ 'abc' | catialize }}
    # Abc
    

    继承和super函数

    !DOCTYPE html>
    html lang="en">
    head>
      {% block head %}
      link rel="stylesheet" href="style.css" rel="external nofollow" />
      title>{% block title %}{% endblock %} - My Webpage/title>
      {% endblock %}
    /head>
    body>
    div id="content">{% block content %}{% endblock %}/div>
    div id="footer">
      {% block footer %}
      script>This is javascript code /script>
      {% endblock %}
    /div>
    /body>
    /html>
    
    {% extend "base.html" %}    # 继承base.html文件
     
    {% block title %} Dachenzi {% endblock %}  # 定制title部分的内容
     
    {% block head %}
      {{ super() }}    # 用于获取原有的信息
      style type='text/css'>
      .important { color: #FFFFFF }
      /style>
    {% endblock %}  
     
    # 其他不修改的原封不动的继承
    

    利用jinja2 进行渲染

    jinja2 模块中有一个名为Enviroment的类,这个类的实例用于存储配置和全局对象,然后从文件系统或其他位置中加载模板

    1.基本使用方法

    2.PackageLoader
    使用包加载器来加载文档的最简单方式如下:

    from jinja2 import PackageLoader, Environment
    env = Environment(loader=PackageLoader('python_project', 'templates')) # 创建一个包加载器对象
    template = env.get_template("base.html") # 获取一个模板文件
    template.render(name="daxin", age=18)
    

    3.FileSystemLoader

    文件系统加载器,不需要模板文件存在某个Python包下,可以直接访问系统中的文件

    import os
    from jinja2 import PackageLoader, Environment, FileSystemLoader
    path_dir = "/mnt/e/files"
    loader = FileSystemLoader(searchpath=path_dir)
    env = Environment(loader=loader)
    template = env.get_template("index.opf") # 模板文件
    buf = template.render(name="daxin", age=18)
    with open(os.path.join("path_dir", "index.opf"), "w" ) as fp:
      fp.write(buf)
    

    以上就是python jinja2模板的使用示例的详细内容,更多关于python jinja2模板的资料请关注脚本之家其它相关文章!

    您可能感兴趣的文章:
    • python 利用jinja2模板生成html代码实例
    • python+jinja2实现接口数据批量生成工具
    • Python的Flask框架标配模板引擎Jinja2的使用教程
    • 为Python的Tornado框架配置使用Jinja2模板引擎的方法
    • Python的Flask框架中的Jinja2模板引擎学习教程
    上一篇:正确的使用Python临时文件
    下一篇:Django MTV和MVC的区别详解
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    python jinja2模板的使用示例 python,jinja2,模板,的,使用,