【问题标题】:django template falling into unexpected logicdjango 模板陷入意外逻辑
【发布时间】:2019-10-06 22:35:30
【问题描述】:

我有一个视图,它应该从三个表 TSFHTSUHTSJH 收集当前经过身份验证的用户的所有对象,并为当前登录的用户收集所有这些对象,如果那样的话用户存在。

但是,我的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.

我在这里做错了什么?谢谢

【问题讨论】:

  • 您的代码到处混杂HasTSUHTSUH。根据您在问题中所写的内容,您的视图应该与HasTSUH not defined error 一起崩溃。在您的模板中,您还可以将两者混合使用。您的 dict 的键是 TSUH 所以这就是您应该在模板中使用的内容(出于某种奇怪的原因,您为 TSJH 执行此操作)

标签: django templates django-templates django-views


【解决方案1】:

模板中的名称是上下文字典的键。您使用了TSUHTSFHTSJH,但没有使用Has

【讨论】:

  • 所以不用Has ?
  • 好吧,保持一致。
猜你喜欢
  • 2013-07-25
  • 2012-02-27
  • 2018-12-30
  • 1970-01-01
  • 2012-01-19
  • 2010-12-19
  • 1970-01-01
  • 2013-08-05
  • 1970-01-01
相关资源
最近更新 更多