python - 如何在 django 模板中使用 django 模型对象?

标签 python django

我无法在 Django 模板中使用 Django 模型对象。我想使用模板中的模型用户进行迭代,然后使用该用户的 ActivityPeriod(model)。请检查我的代码是否清晰:

这是我的代码:

View .py

from .models import User,ActivityPeriod

def call_response(request):
    user = User.objects.all()
    return render(request, "Test/list.html", {"users":user ,"activityperiod":ActivityPeriod})

测试/list.html

{% for user in users %}
    'real_name': {{ user.real_name}}},
    'activity_periods': {% with activity=activityperiod.objects.get(id =user) %}
    {{ activity.start_time }}
    {% endwith %}
{% endfor %}

但是我收到一个错误: 无法解析余数:'(id' from 'activityperiod.objects.get(id')

正确的做法是什么?有谁可以分享给我吗?

最佳答案

Django 模板不理解 Model 的过滤操作。这部分应该在 View 中。

activity=activityperiod.objects.get(id =user)

您应该在发送到模板之前准备好数据并对其进行操作(字典可能会帮助您)。请记住,“User.objects.all()”操作的结果是一个列表。

关于python - 如何在 django 模板中使用 django 模型对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62146199/

相关文章:

Python:在一个文件行中检索两个单独的列表值

python - 如何正确处理异常?

python - 如何从 COCO 数据集创建蒙版图像?

python - 在 Django 中记录请求 URL

python - 如何使用 django (python) 和 s3 上传文件?

python - Django admin 如何以逗号分隔格式显示货币数字

python - 具有三个需要多对多字段的表的 Django 应用程序

python - 将文本读入数据框

python - 每个请求方法在 drf 序列化程序中进行不同的验证

Django 用户 HiddenInput 与使用基于类的 View 直接保存在 View 中