Jinja2 - 分裂弦

时间:2018-06-04 02:50:58

标签: jinja2

我正在尝试拆分一个如下所示的购物清单字符串:

['Milk', 'Bread', 'sugar', 'rinse aid']

该字符串有4个购物清单项目,我想在前端和末尾删除[],删除'',并在可能的情况下将每个项目分开。

2 个答案:

答案 0 :(得分:0)

您的购物清单不是string,而是list

您可以使用for loop遍历每个项目并单独打印,

{% set shoppinglist = ['Milk', 'Bread', 'sugar', 'rinse aid'] %}

{%- for item in shoppinglist -%}
  {{ item }}
{% endfor %}

<强>输出

Milk
Bread
sugar
rinse·aid

你可以test it here

答案 1 :(得分:0)

首先,我假设您拥有的是您希望在网页中显示的项目列表 -

app.route('/myList')
def myList():
    list=['Milk', 'Bread', 'sugar', 'Colagate']
    return render_template('shoppingList.html',slist=list)

并在shoppingList.html

{% for x in slist %}
 <div class="someClass">{{ x }}</div>
{% endfor %}

这适用于列表

如果您的字符串看起来像 -

 listStr="['Milk', 'Bread', 'sugar', 'Colagate']"

你可以做的是定义 -

 def listMaker(lst):
    listStr=listStr.replace(']','')
    listStr=listStr.replace('[','')
    listStr=listStr.replace(',','')
    listStr=listStr.replace('\'','')

    list=listStr.split(' ')
    return list

然后调用此函数 -

app.route('/myList')
def myList():
    listStr="['Milk', 'Bread', 'sugar', 'Colagate']"
    list=listMaker(listStr)
    return render_template('shoppingList.html',slist=list)

HTML代码保持不变。