我有一个问题。我写了一个自定义模板标签,带有这样的函数签名——
def has_paid_for_article(article, request):
现在,在我的模板标签中,我有一个条件语句来确定用户是否可以下载文章(这取决于文章是否超过两年或登录用户已为文章付费)。这是片段-
{% if article|is_older_than_two_years %}
<span class="amp">& </span>{% get_article_download_link article %}
{% else %}
download
{% endif %}
上述代码段工作正常,但是我需要在条件语句中调用 has_paid_for_article() 函数。我尝试了以下方法来实现这一点-
{% if article|is_older_than_two_years or article|request|has_paid_for_article %}
,
{% if article|is_older_than_two_years or [article, request]|has_paid_for_article %}
这个在条件语句之外工作 -
{% if article|is_older_than_two_years or has_paid_for_article article request %}
这里的正确语法是什么?另外,我已经阅读了有关该主题的其他帖子,我不能将此逻辑放在视图中。我不会详细介绍,但就其工作方式而言,这不是一个选择。谢谢!