0

我的模板中有以下内容:

<li{% if selected == "al" %} id="selected" {% endif %}><a href="/posting/alerts">Alerts{% if alertnum != 0 %}<span style="color:red">({{alertnum}})</span>{% endif %}</a></li>

问题在于alertnum != 0它似乎。我有以下看法:

def posting_draft(request):
    user = request.user
    user_drafts = Draft.objects.filter(user = user)
    drafts = dict()
    for d in user_drafts:
        drafts[d.title] = d.id
    alertnum = get_alertnum(user) # Returns 0. I have used print statements to verify this
    return render_to_response('posting_draft.html', {'STATIC_URL':STATIC_URL, 'draft_l' : drafts, 'selected':"dr", alertnum: alertnum})

当我加载它时,浏览器中显示的是Alert ()空的红色括号。括号根本不应该存在,因为 alertnum = 0

4

1 回答 1

4

不确定这是否是一个错字,但您忘记了上下文中 alertnum 周围的引号:

return render_to_response('posting_draft.html',
    {'STATIC_URL':STATIC_URL, 'draft_l' : drafts, 'selected':"dr", alertnum: alertnum})

所以你在比较0 != 0。它应该是:

return render_to_response('posting_draft.html',
    {'STATIC_URL':STATIC_URL, 'draft_l' : drafts, 'selected':"dr", 'alertnum': alertnum})
于 2012-08-09T20:29:23.467 回答