.png)
jinja2 可以用来修改配置文件,把配置文件的关键地方可以用变量来进行替换
模板语法和django的模板语法差不多 在jinja2中,存在三种语法:
| 1 2 3 | {%foruser inusers %}{{user.username}}{%endfor %} | 
迭代字典
| 1 2 3 4 | {%forkey,value inmy_dict.iteritems() %}{{ key }}{{ value }}{%endfor %} | 
过滤器
常用的过滤器有:
| 1 2 | {{ 'abc'| catialize }}# Abc | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <!DOCTYPE html><htmllang="en"><head>  {% block head %}  <linkrel="stylesheet"href="style.css"rel="external nofollow"/>  <title>{% block title %}{% endblock %} - My Webpage</title>  {% endblock %}</head><body><divid="content">{% block content %}{% endblock %}</div><divid="footer">  {% block footer %}  <script>This is javascript code </script>  {% endblock %}</div></body></html> | 
| 1 2 3 4 5 6 7 8 9 10 11 12 | {% extend "base.html" %}    # 继承base.html文件 {% block title %} Dachenzi {% endblock %}  # 定制title部分的内容 {% block head %}  {{ super() }}    # 用于获取原有的信息  <styletype='text/css'>  .important { color: #FFFFFF }  </style>{% endblock %}   # 其他不修改的原封不动的继承 | 
jinja2 模块中有一个名为Enviroment的类,这个类的实例用于存储配置和全局对象,然后从文件系统或其他位置中加载模板
1.基本使用方法
2.PackageLoader
使用包加载器来加载文档的最简单方式如下:
| 1 2 3 4 | fromjinja2 importPackageLoader, Environmentenv =Environment(loader=PackageLoader('python_project', 'templates')) # 创建一个包加载器对象template =env.get_template("base.html") # 获取一个模板文件template.render(name="daxin", age=18) | 
3.FileSystemLoader
文件系统加载器,不需要模板文件存在某个Python包下,可以直接访问系统中的文件
| 1 2 3 4 5 6 7 8 9 | importosfromjinja2 importPackageLoader, Environment, FileSystemLoaderpath_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模板的资料请关注脚本之家其它相关文章!