如何正确地将自定义元素列表传递给类属性?

时间:2018-03-08 14:36:53

标签: python html django django-templates

我的模板中有一行:

private void copyRequestHeaders() {
    RequestContext context = RequestContext.getCurrentContext();
    Enumeration<String> headerNames = context.getRequest().getHeaderNames();
    while(headerNames.hasMoreElements()) {
       String headerName = headerNames.nextElement();
       context.addZuulRequestHeader(headerName, context.getRequest().getHeader(headerName));
    }
}

如果<div class="class1 class2 class3 {{ foo_classes }}"> 为空,我会foo_classes。 我想得到的是class="class1 class2 class3 ",在类列表的末尾没有额外的空格。

class="class1 class2 class3"

如果我删除了空格(看看上面一行),那么我得到<div class="class1 class2 class3{{ foo_classes }}"> ,这不是更好。

如果class="class1 class2 class3class4 class5"为空,如何传递其他类以避免在类末尾添加不必要的空格?

2 个答案:

答案 0 :(得分:3)

一种方法是使用if标记:

<div class="class1 class2 class3{% if foo_classes %} {{ foo_classes }}{% endif %}">

答案 1 :(得分:1)

如果问题太多,请更改向模板添加类的方式,以便始终只使用变量:

<div class="{{ foo_classes }}">

所以你总是将class1 class2 class3存储在该变量中,但有时你会用额外的/额外的类(例如class1 class2 class3 class4)来切换它。

这是非常常见的解决方案,例如在Vue.js世界中,您倾向于在变量中存储类的动态列表,并将其传递给模板而不是串联字符串。