2017-06-13 71 views
0

在我的模板中获取此信息格式正确时出现问题。我搜索谷歌和堆栈溢出广泛,但我一直无法解决这个问题。Django在模板中显示和格式化组名

我使用的是django-role-permissions,我创建了一组角色,并将其分配给每个用户的组。我想用逗号在中间显示它们在我的模板上的所有组。我也想用一个空格替换名称之间的'_'。我来最接近的是让dispayed类似如下的组名:

Driver Freight_manager System_admin Employee_manager 

我已经尝试了一些自定义templatetags但一切分裂成一个个性有“”之间。最后,我希望它看起来像下面,但我不能弄明白:

Driver, Freight Manager, System Admin, Employee Manager 

这里是我的模板代码:

{% for g in profile_detail.user.groups.all %} 
    {{ g.name|capfirst }} 
{% endfor %} 

我假设我能做到这一点一个模板并且不必修改视图。有人可以通过模板标签或其他方式帮助我解决问题吗?这让我疯狂。

回答

0

制作templatetag:

@register.filter(name='split') 
def split(value, arg): 
    return " ".join(value.split(arg)).title() 

HTML

{% load <file name of template tag> %} 
    {% for g in profile_detail.user.groups.all %} 
      {{ g.name|split:'_' }}, 
    {% endfor %} 
+0

近了,但也不能令人信服。输出是'['Driver'],['Freight','Manager'],['System','Admin'],['Employee','Manager'],' –

+0

检查更新代码 –

+0

它工作。 ..最后留下一个尾随逗号,但我可以稍后解决。谢啦。真的很感激它! –