我正在接受来自 python 文件的记录集,并使用 for 循环显示烧瓶 jinja 模板中的记录。对于编辑按钮,我需要加密 id。如何在模板中调用加密函数?
<tbody>
{% for record in records %}
<tr>
<td>{{ loop.index }}</td>
<td>{{ record[1] }}</td>
<td>{{ record[2] }}</td>
<td>
<a href="{{url_for('edit_country' ,id=record[0])|encryptdata}}" class="label bg-green" >Edit</a> |
<a href="{{url_for('view_country',id=record[0])}}" class="label bg-red" onclick="return confirm('Are you sure you want to Delete?');" >Delete</a>
</td>
</tr>
{% endfor %}
通常,将加密函数注册为过滤器
from jinja2 import Environment
def encryptdata(data):
return data.upper()
env = Environment()
env.filters['encryptdata'] = encryptdata
由于您使用的是烧瓶,因此只需用app.template_filter装饰过滤器
@app.template_filter('encryptdata')
def encryptdata(data):
return data.upper()
过滤器的烧瓶文档。