如何使用变量索引动态访问django jinja模板中的列表项

6ie5vjzr  于 2022-11-18  发布在  Go
关注(0)|答案(1)|浏览(154)

Django jinja模板错误-模板语法错误

我试图创建一个示例显示用户页面,我想在其中显示用户的用户名、密码和角色。我将以数字形式存储角色,稍后我将尝试从列表中获取角色名称。
我已经将这个角色名称硬编码到一个列表roles = ['admin', 'teacher', 'student']中,这个角色已经作为上下文值传递到html页面中。另外,我传递了一个num变量来访问列表项(atm的值也是硬编码的,我将在以后更改它)
第1001章:我的views.py

def index(request):
   roles = ['admin', 'teacher', 'student']
   num=1
   return render(request=request, template_name='show_all.html', context={'roles': roles, 'num': num})

在我的html页面中,我尝试使用num变量访问该列表,如下所示

显示全部. html

{{roles[num]}}
但它抛出错误

模板语法错误位于/show_all

无法解析剩余部分:'[num]'来自'roles[num]'
很少有解决方案会说roles.0会得到第一个结果,而roles.1会给予下一个结果,但我不想在那里硬编码索引。
要求. txt

asgiref==3.5.2
Django==4.1.3
sqlparse==0.4.3
tzdata==2022.6

我试过了
第一个
没有任何东西能给我想要的结果。

kuuvgm7e

kuuvgm7e1#

解决方法如下:

def index(request):
   roles = ['admin', 'teacher', 'student']
   num=1
   return render(request=request, template_name='show_all.html', context={'roles': roles, 'num': num, 'rolesi': roles[num]})

然后执行以下操作:show_all. html

{{rolesi}}

相关问题