3 回答
TA贡献1868条经验 获得超4个赞
views.py
def call_response(request):
user = User.objects.filter(user=request.user)
activityperiod = activityperiod.objects.get(user=user)
context={'user':user,'activityperiod':activityperiod}
return render(request, "Test/list.html",context})
测试/list.html
'real_name': {{ user.real_name}}
'activity_periods':{{ activityperiod.start_time }}
TA贡献1815条经验 获得超10个赞
Django 模板不理解模型的过滤操作。这部分应该在视图中。
activity=activityperiod.objects.get(id =user)
在发送到模板之前,您应该准备好数据并对其进行操作(字典可能会对您有所帮助)。请记住,操作“User.objects.all()”的结果是一个列表。
TA贡献1830条经验 获得超9个赞
你的问题表明你认为你可以像普通函数一样在模板中使用函数(即activityperiod.objects.get(...))。
你不能,模板系统不是这样制作的(出于安全原因等)。
你应该在你的模型中做类似的事情:
def call_response(request):
# ! first() not "all()" (if > 1 user, you'll have problem)!
user = User.objects.first()
activityperiod = activityperiod.objects.get(user=user)
return render(request, "Test/list.html",
{"users":user ,"activityperiod":activityperiod})
添加回答
举报