Jinja2模板(1) --基本概念,模板引擎,渲染模板

来源:互联网 发布:js修改div id 编辑:程序博客网 时间:2024/05/22 05:01

首先需要了解几个概念

例:当用户在网站中注册了一个新账户,用户在表单中填写信息,然后点击提交按钮。

业务逻辑:服务器接收到包含用户输入数据的请求,然后Flask把请求分发到处理注册请求的视图函数。

表现逻辑:这个视图需要访问数据库,添加新用户,然后生成响应回送给浏览器。

业务逻辑和表现逻辑混在一起会使得代码难以维护和扩展。把表现逻辑移到模板中可以提升程序的可维护性。

模板:是一个包含响应文本的文件,其中包含用占位变量表示的动态部分,其具体指只在请求的上下文中才能知道。

渲染:使用真实值替换变量,再返回最终得到的响应字符串,这一过程被称为渲染。


形式最简单的Jinja2模板就是一个包含响应文本的文件,默认情况下,Flask再程序文件夹中的templates子文件夹中寻找模板。如:

例1.

templates/index.html:Jinja2模板

<h1>Hello world!</h1>
例2.
templates/user.html:Jinja2模板
<h1>Hello, {{ name}}</h1>

渲染模板

Flask提供的render_template()函数把JinJa2模板引擎集成到了程序中。在程序中,第一个参数是模板的文件名,随后的参数为键值对。
在pycharm中建立一个flask项目test4,在此项目的templates文件中建立上面的例1和例2的两个模板,然后创建一个hello.py,来定义视图函数来渲染这些模板。具体程序见下图:




运行此程序,等待服务器启动起来后,分别在浏览器中访问http://127.0.0.1:5000/ 和http://127.0.0.1:5000/user/sky

0 0