我接受python文件中的记录集,并使用for循环在flask 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()


filters的烧瓶文档。

关于templates - 如何在flask jinja2模板中加密ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57933560/

10-13 06:31