我是 GAE/Python 新手。
我有一个调用客户过滤功能的 jinja2 模板:
调用如下所示:
{% if constant-parameter|AccessOK %}
<li><a href="/tokens-step1">Tokens</a></li>
{% endif %}
我在调用渲染模板的页面上定义了过滤器:
TEMPLATE_DIR = os.path.join(os.path.dirname(__file__), 'templates')
jinja_environment = \
jinja2.Environment(autoescape=True, loader=jinja2.FileSystemLoader(TEMPLATE_DIR))
jinja_environment.filters['AccessOK'] = AccessOK
当我运行它时,它会在我启动应用程序引擎后第一次访问网站时调用它(我有日志条目)。
当我访问其他页面或刷新页面时,不再调用过滤器。
我需要过滤器在每个页面视图上执行。
有人告诉我这是因为参数是常量,如果我将其更改为变量,它将每次都执行。在我的情况下,我需要传递常量,所以我尝试传递 2 个参数(其中变量 = currentuser 并且存在只是为了欺骗系统每次执行过滤器)。
我收到一个错误,表明系统无法识别第二个参数。
谁能告诉我如何确保每次都调用客户过滤器,或者给我一个如何传递 2 个参数的示例?