{{ ... }}
用来标记变量。{% ... %}
用来标记语句,比如 if 语句,for 语句等。{# ... #}
用来写注释。length
过滤器来获取 movies
的长度,类似 Python 里的 len()
函数。render_template()
函数可以把模板渲染出来,必须传入的参数为模板文件名(相对于 templates 根目录的文件路径),这里即 'index.html'
。为了让模板正确渲染,我们还要把模板内部使用的变量通过关键字参数传入这个函数,如下所示:hello
改为 index
,意思是“索引”,即主页。render_template()
函数的关键字参数中,左边的 movies
是模板中使用的变量名称,右边的 movies
则是该变量指向的实际对象。这里传入模板的 name
是字符串,movies
是列表,但能够在模板里使用的不只这两种 Python 数据结构,你也可以传入元组、字典、函数等。render_template()
函数在调用时会识别并执行 index.html 里所有的 Jinja2 语句,返回渲染好的模板内容。在返回的页面中,变量会被替换为实际的值(包括定界符),语句(及定界符)则会在执行后被移除(注释也会一并移除)。