django 在jinja循环中输出两个参数

zpf6vheq  于 2023-08-08  发布在  Go
关注(0)|答案(1)|浏览(78)

我在用Django开发。输出数据按如下方式传递到html页面:

def page(request): 
    data = { 'name':[
                    'nameOne',               
                    'nameTwo', 
                    'nameThree'
                    ], 
             'id':[
                  '1',
                  '2',
                   '3'
                  ]
           }
    return render(  request, "mainpageapp/page.html", data)

字符串
我希望看到一个链接与文本名称和值id

<a href="/{{id}}">{{name}}</a>


目前我只能在for循环中输出一个元素

{% for el in name %} 

  <a href="/{{el}}">{{el}}</a><br> 

{% endfor %}


是否可以在一个forloop中显示两个dictionary元素?或者其他方式来实现这一点?

ykejflvf

ykejflvf1#

将这两个文件压缩成一个可迭代对象:

def page(request):
    name = ['nameOne', 'nameTwo', 'nameThree']
    ids = ['1', '2', '3']
    data = zip(ids, name)
    context = {'data': data}
    return render(request, 'mainpageapp/page.html', context)

字符串
在模板中,我们然后枚举:

{% for pk, name in data %} 
  <a href="/{{ pk }}">{{ name }}</a><br> 
{% endfor %}

注意:请不要为变量命名id,它会覆盖id**内置函数[Python-doc]的引用。例如使用ids

相关问题