Flask(9) - jinja2模板使用(宏和import)
宏
<!--使用宏模板创建登录表单-->
<!--
模板中的宏和python中的函数类似,可以传递参数(参数可以是默认值),但是没有返回值,可以将复用
的代码片段放到宏中,把一些不固定的值抽取出来做一个变量
-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index</title>
</head>
<body>
<!--把input标签定义成宏-->
{% macro input(name="",value="", type="text") %}
<input type="{
{type}}" name="{
{ name }}" value="{
{ value }}">
{% endmacro %}
<h1>登录</h1>
<table>
<tbody>
<tr>
<td>用户名:</td>
<!--调用宏,并传name参数-->
<td>{
{ input("username") }}</td>
</tr>
<tr>
<td>密码:</td>
<!--传name参数和type参数-->
<td>{
{ input("password",type="password") }}</td>
</tr>
<tr>
<td>
{
{ input(value="提交",type="submit") }}
</td>
</tr>
</tbody>
</table>
</body>
</html>
import导入宏
<!--宏模板文件-->
<!--macros.html-->
{% macro input(name="",value="", type="text") %}
<!--value加变量参数-->
<!--<input type="{
{type}}" name="{
{ name }}" value="{
{ username }}">-->
<input type="{
{type}}" name="{
{ name }}" value="{
{ value }}">
{% endmacro %}
<!--index.html-->
<!--导入macros模板-->
<!--如果需要导入value变量参数-->
<!--{% from "macros.html" import input with context %}-->
{% from "macros.html" import input %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>index</title>
</head>
<body>
<h1>登录</h1>
<table>
<tbody>
<tr>
<td>用户名:</td>
<td>{
{ input("username") }}</td>
</tr>
<tr>
<td>密码:</td>
<td>{
{ input("password",type="password") }}</td>
</tr>
<tr>
<td>
{
{ input(value="提交",type="submit") }}
</td>
</tr>
</tbody>
</table>
</body>
</html>
正文到此结束
评论
登录后才能发表评论 登录/注册
0评论