【发布时间】:2019-10-06 22:35:30
【问题描述】:
我有一个视图,它应该从三个表 TSFH、TSUH 和 TSJH 收集当前经过身份验证的用户的所有对象,并为当前登录的用户收集所有这些对象,如果那样的话用户存在。
但是,我的view 逻辑目前正落入它出现的else 语句中。
有人可以帮我调试一下为什么会发生这种情况吗?
我的表中有当前登录用户的数据,所以我不确定为什么会这样。
Views.py
def SHO(request):
TSUH = TSUH.objects.filter(FKToUser_id=request.user).all()
TSFH = TSFH.objects.filter(FKToUser_id=request.user).all()
TSJH = TSJH.objects.filter(FKToUser_id=request.user).all()
return render(request, 'page.html', {
'TSUH':HasTSUH,
'TSFH':HasTSFH,
'TSJH':HasTSJH
})
templates/page.html
{% autoescape on %}
{% if HasTSUH %}
{% for t in HasTSUH %}
<li>{{ t.begin }}<span></li>
{% endfor %}
{% elif HasTSFH %}
{{ HasTSFH }}
{% elif TSJH %}
{{ TSJH }}
{% else %}
It appears you haven't done anything yet.
{% endif %}
但它一直显示:
It appears you haven't done anything yet.
我在这里做错了什么?谢谢
【问题讨论】:
-
您的代码到处混杂
HasTSUH和TSUH。根据您在问题中所写的内容,您的视图应该与HasTSUH not defined error一起崩溃。在您的模板中,您还可以将两者混合使用。您的 dict 的键是TSUH所以这就是您应该在模板中使用的内容(出于某种奇怪的原因,您为TSJH执行此操作)
标签: django templates django-templates django-views