我有一个带有检查的jinja宏,宏在传递给它的列表中接收一组权限,检查将确保用户具有渲染宏的正确权限。为了使用check方法,我需要能够将列表解压缩为位置参数。这似乎在Jinja2中是不可能的,它似乎不理解语法。那还是我还没遇到过。
宏
{% macro edit_field(text, link, permissions=['hello', 'goodbye']) -%}
{% if user.has_permissions(*permissions) %}
Do Something
{% endif %}
{%- endmacro %}
检查方法
def user_has_permissions(*permissions)
user.has_permissions('hello', 'goodbye')