这可能很简单,但我环顾四周,找不到答案.从Django模板引用列表中的单个项目的最佳方法是什么?
换句话说,我如何{{ data[0] }}在模板语言中做相同的操作?
谢谢.
如何在django模板中使用变量作为索引?
现在我收到此错误:
Exception Type:
TemplateSyntaxError
Exception Value:
Could not parse the remainder: '[year]' from 'bikesProfit.[year]'
Run Code Online (Sandbox Code Playgroud)
我也尝试了,{{ bikesProfit.year }}但这给出了一个空洞的结果.
{% for year in years_list %}
<tr>
<th>Total profit {{ year }}:</th>
</tr>
<tr>
<th></th>
<th> {{ bikesProfit[year] }} </th>
...
Run Code Online (Sandbox Code Playgroud) 例如,我有一个名为list的数组
list = [0,1,2,3]
在我这样做的时候在HTML中
<body>
{{ list }}
</body>
Run Code Online (Sandbox Code Playgroud)
输出将是 [0,1,2]
我想要的是什么
{{ list[0] }}
Run Code Online (Sandbox Code Playgroud)
但是这句话给了我错误,我怎么能打印第一个元素
我试图只在Django模板中获得第一次或第n次迭代.通常我可以迭代使用,
{% for item in pModel %}
{{ item.post }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我需要第一次迭代,但也想知道如何获得第n次迭代,
{{pModel.0.post}}`什么都不显示,没有错误.
我不想迭代pModel中的每个对象.
我尝试了所有组合即
{{ pModel[0][post] }}
{{ pModel.0.[post] }}
{{ pModel[0].post }}
{{ pModel[0][post] }}
{{ pModel.[0][post] }}
{{ pModel.[0].[post] }} etc.
Run Code Online (Sandbox Code Playgroud)
pModel来自这个视图,
def profile(request, id):
pk = id
name = User.objects.all().filter(id=pk)
pModel = reversed(PostModel.objects.all().filter(author = name[0]))
# user_instance = User.objects.all().filter(username = request.user)
return render(request, 'profile.html', {'pModel': pModel, 'current_time': timezone.now()})
Run Code Online (Sandbox Code Playgroud)
以下显示什么,
<strong>{{ pModel.first.post }}</strong>
Run Code Online (Sandbox Code Playgroud)
在同一模板中,我使用正确显示的pModel,因此我知道pModel正在工作.完整的模板,
{% extends 'index.html' %} {% block homepage %}
<div class="post">
{% …Run Code Online (Sandbox Code Playgroud)