十七:jinja2之宏
2024-09-04 05:43:21
宏有点类似于函数,接收一些数据,进行处理,但是没有返回值,可以将一些常用的代码片段放到宏中,然后把不固定的值抽出来做变量
使用maacro来定义宏,使用宏的时候,参数可以设默认值
自定义一个input标签
{% macro input(name='', value='', type='text') %}
<input type="{{ type }}", name="{{ name }}", value="{{ value }}">
{% endmacro %} <h1>login</h1>
<table>
<tbody>
<tr>
<td>用户名:</td>
<td>{{ input('username') }}</td>
</tr>
<tr>
<td>密码:</td>
<td>{{ input('password', type='password') }}</td>
</tr>
<tr>
<td></td>
<td>{{ input(type='submit', value='提交') }}</td>
</tr>
</tbody>
</table>
真实工作情况下是把宏单独封装起来,要用的时候导入使用(起点路径为templates),导入的方式与python一样:import aaa、import aaa as bbb、from aaa import bbb as ccc
如果要在带入宏的时候,就把当前模板的一些参数传给宏所在的模板,就要在导入的时候使用with context
最新文章
- appium的几点总结
- C# 用原生JS进行文件的上传
- hdu-5992 Finding Hotels(kd-tree)
- C扩展python的module和Type
- rabbitMQ第一篇:rabbitMQ的安装和配置
- css-子div设置margin-top后,父div与子div一起下移
- ActionScript学习笔记
- mysql5.6 TIME,DATETIME,TIMESTAMP
- LeetCode: Binary Tree Traversal
- MVC中Area的使用
- COJ 1007 WZJ的数据结构(七) 树上操作
- tomcat 产生heapdump文件配置
- javascript 学习随笔6
- The specified JRE installation does not exist异常的原因和解决办法
- oracle,mysql,sql server三大数据库的事务隔离级别查看方法
- sql 随笔更新
- CVE-2018-19968
- Chrome 谷歌浏览器清除HTTPS证书缓存
- 使用Python启动一个简单的服务器
- 深入理解Java中停止线程