我在django模板中创建了一个自定义过滤器,但django在传递no时有一些约束。对于自定义过滤函数Read more,它只允许一个或两个参数。并且,我想将两个参数传递给我的自定义过滤器,一个是string
,第二个是模型类的object
。但无法成功实现这一目标。
的index.html
{% load has_permission_filter %}
{% for u in users %}
<span class={{ user|has_location_perm:('user.view_user', u)}}>View</span>
{% endfor %}
在上面的模板user
是当前登录的用户,users
是User
模型类的实例列表。
has_permission_filter.py
def has_location_perm(user, args):
perm_str, obj = args[0], args[1]
// business logic
if user.has_perm(perm_str) and business_logic_check(perm_str, obj):
return 'allow'
else:
return 'not-allow'
所以,我想要一些解决方案,帮助我在django模板中传递过滤函数中的object
。