如何在Django的模板自定义过滤器中传递带有静态文本的动态变量

时间:2020-03-17 12:10:44

标签: django python-3.x

如何在模板中使用带有静态文本的dynamic参数来自定义过滤器?

在view.py中,您可以使用这种方式来传递许多参数

message = 'hello {} this is {}'.format(from_user, to_user)

如何将以上代码转换为template.html代码?

我想使用多个参数执行以下条件,例如:

{% if users|is_user_authorised_to_view_page:'users/<page_id>/<username>/'.format(page.id, user.username) %}
    {# do this ... #}
{% endif %}

我该怎么做?我搜索了但没有找到任何解决方案,在此先感谢..

1 个答案:

答案 0 :(得分:0)

{% with page.id|get_url:user.username as url %}   
 {% if users|is_user_authorised_to_view_page:url %}
        {# do this ... #}
    {% endif %}
{% endwith %}

创建另一个过滤器

@register.filter
def get_url(page_id, username):
    return 'users/{0}/{1}/'.format(int(page_id), username)