Python 如何在jinja2模板中强制重新执行函数?
我是GAE/Python新手 我有一个调用客户筛选函数的jinja2模板: 电话如下所示:Python 如何在jinja2模板中强制重新执行函数?,python,google-app-engine,jinja2,Python,Google App Engine,Jinja2,我是GAE/Python新手 我有一个调用客户筛选函数的jinja2模板: 电话如下所示: {% if constant-parameter|AccessOK %} <li><a href="/tokens-step1">Tokens</a></li> {% endif %} 当我运行此程序时,在启动应用程序引擎(我有日志记录条目)后第一次访问网站时,它会被调用 当我访问其他页面或刷新页面时,将不再调用筛选器 我需要在每个页面视图上执
{% if constant-parameter|AccessOK %}
<li><a href="/tokens-step1">Tokens</a></li>
{% endif %}
当我运行此程序时,在启动应用程序引擎(我有日志记录条目)后第一次访问网站时,它会被调用
当我访问其他页面或刷新页面时,将不再调用筛选器
我需要在每个页面视图上执行过滤器
我被告知这是因为参数是一个常量,如果我把它改成变量,它每次都会执行。在我的例子中,我需要传递常量,所以我尝试传递2个参数(其中变量=currentuser,存在只是为了诱使系统每次执行过滤器)
我得到一个错误,表明系统无法识别第二个参数
有谁能告诉我如何确保每次都调用客户筛选器,或者给我一个如何传递两个参数的示例吗?这可能不是最优雅的解决方案,但它可以工作 我添加了一个不断变化的变量作为附加参数(在本例中为currentuser)。这意味着我必须传递两个参数 我的模板语句现在看起来像:
{% if currentuser|AccessOK(constant-parameter) %}
<li><a href="/tokens-step1">Tokens</a></li>
{% endif %}
我忽略函数中的xCurrentUser参数
如果有人有更好的解决方案,请添加
谢谢
{% if currentuser|AccessOK(constant-parameter) %}
<li><a href="/tokens-step1">Tokens</a></li>
{% endif %}
def AccessOK(xCurrentUser, PermissionID):