博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于hi-nginx的web开发(python篇)——使用jinja2模板引擎
阅读量:7240 次
发布时间:2019-06-29

本文共 1078 字,大约阅读时间需要 3 分钟。

模板引擎的使用在web开发中是不可避免和必要的。框架使用jinja2作为模板引擎。

为了使用hi.py提供的jinja2引擎,首先需要引入它:

from hi import hi,template

然后就是使用它:

1 @app.route(r'^/template/(?P
\w+)/(?P
\d+)/?$',['GET'])2 def tpl(req,res,param):3 param['title']='jinja2 测试'4 tpl_engine = template(os.path.join(os.getcwd(),'python/templates'))5 res.content(tpl_engine.file_render('b.html',param))6 res.status(200)

创建template实例需要一个参数,它指定引擎搜索模板文件的目录,在上面的代码中就是hi-nginx安装目录下的python/templates文件夹。

然后准备数据,数据使用dict来收集,使用file_render方法通过指定模板文件和数据dict来输出字符串内容。

如果使用的不是模板文件,而是模板字符串,那就使用string_render方法,它的第一个参数指的是字符串模板。

 

在上面的例子中,模板文件b.html内容如下:

1 {% extends 'a.html'  %}2 {% block body %}3     {
{ super() }}4 继承5 {
{ name }} is {
{ age }} years old.6 {% endblock %}

其中使用了jinja2中的模板继承功能,见第一行。因此,还有个模板文件a.html:

    {<div></div>   { title }}    {% block body %}        

Hello:{

{ name }},you are {
{ age }} years old.

加载器负责从诸如文件系统的资源加载模板

{% endblock %}

 

在本例中,中文内容已经出现。因此需要使用utf-8编码。已经全面支持python3,所以,尽情中文吧!

 

转载于:https://www.cnblogs.com/hi-nginx/p/8649798.html

你可能感兴趣的文章
Android WebView漏洞(转)
查看>>
ExtJS4.2:自定义主题 入门
查看>>
【Android】事件输入系统-代码层次解读
查看>>
js 对文件操作
查看>>
MySQL 5.6学习笔记(数据表基本操作)
查看>>
复制控制---复制构造函数
查看>>
bash把所有屏幕输出重定向到文件并保持屏幕输出的方法
查看>>
HBase 压缩算法设置及修改
查看>>
深入了解jquery中的键盘事件
查看>>
windows常用命令行整理
查看>>
DotNet中人民币符号的输出
查看>>
Spark源码分析 – SchedulerBackend
查看>>
正则表达式
查看>>
C语言中结构体 自引用 和 相互引用
查看>>
awk substr()函数
查看>>
git diff的用法
查看>>
[SQL基础]入门
查看>>
s3cmd 安装使用指南
查看>>
hdu 1253:胜利大逃亡(基础广搜BFS)
查看>>
sdut 2153:Clockwise(第一届山东省省赛原题,计算几何+DP)
查看>>