gpt4 book ai didi

python - 使用可变参数在django模板中循环

转载 作者:太空宇宙 更新时间:2023-11-04 10:24:11 25 4
gpt4 key购买 nike

我想获取 user=user_id 类 Material 的所有详细信息这是 models.py:

class Material(models.Model):
subject = models.CharField(max_length=10)
topic = models.CharField(max_length=50)
user = models.IntegerField()

和我的views.py:

def add_material(request):
c = {}
c.update(csrf(request))
if 'user_session' in request.session:
user_id = request.session['user_session']
material_array = Material.objects.filter(user=user_id).values()
materials_len = len(material_array)
c['m_len'] = materials_len
for i in range(0, materials_len):
c['material_id_'+str(i)] = material_array[i]
return render_to_response('add_material.html',c)
else:
return HttpResponseRedirect('/user')

我的 add_material.html 是:

{% for i in range(m_len) %}
<tr>
{% for j in material_id_+str(i) %}
{{j.subject}}
{{j.topic}}
{% endfor %}
</tr>
{%endfor%}

所以我在模板中遇到错误,如何在 for 循环中插入变量?

最佳答案

我会这样做。

views.py

def add_material(request):
c = {}
c.update(csrf(request))
if 'user_session' in request.session:
user_id = request.session['user_session']
material_array = Material.objects.filter(user=user_id)
c.update({'materials': material_array})
return render_to_response('add_material.html', c)
else:
return HttpResponseRedirect('/user')

模板

{% for material in materials %}
<tr>
<td>{{ material.subject }}</td>
<td>{{ material.topic }}</td>
<td>{{ material.user.username }}</td>
</tr>
{% endfor %}

您可以包含任何您喜欢的用户字段。

关于python - 使用可变参数在django模板中循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30423063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com