传递python列表并正确显示

时间:2017-05-18 09:20:18

标签: python django

我正在尝试从csv传递列表并使用django填充html中的选择菜单。我的csv的格式就像那个["otis","Otis"],["bel","Bel"]..问题是,当我把所有元素都放在选择中时,结果有点奇怪而且不知道如何正确显示,因为我想放入value = otis并且在选项Otis中。

这是我的模板:

{% for empresa in lista %}

    <option value="{{empresa}}">{{empresa[empresa]}}

    </option> #The result is in the html select ['otis','Otis']
                                                ['bel','Bel']

{% endfor %}

这是我的职责:

def csv_empresas(request):
    lista = []

    with open('media/empresas.csv') as csvfile:
        lector = csv.reader(csvfile, delimiter=',',quotechar='|')
        for row in lector:
            lista.append(row)

    return render(request,'preparar_pdf.html',{"lista": lista})

如果你需要更多信息,请问我。非常感谢。

1 个答案:

答案 0 :(得分:0)

即使方括号是Django模板中的有效语法,它们也不是,为什么你会使用empresa[empresa]?从任何角度来看,这都没有意义。

这里需要的是子列表中第一个用作值的值,第二个值用作显示值。这很容易实现:

<option value="{{ empresa.0 }}">{{ empresa.1 }}</option>