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

标签 python django django-templates

我想获取 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/

相关文章:

python - 我如何在 Django 中使用 rapportive.py

python - 我做了类似的事情,它抛出 : UnboundLocalError at/local variable 'context' referenced before assignment error

python - 如何将 Django 模型字段分解为自己的模型并保留数据?

Django 预览,类型错误 : 'str' object is not callable

javascript - 防止用户通过多次点击提交按钮来发布多次提交

python - django 中的 Endblock 标记无效

python - 工作人员完成后重定向用户

python - 导入错误 : cannot import name NUMPY_MKL

python - django MultiValueDictKeyError错误,我该如何处理

python - Django 没有使用 manage.py 测试运行测试