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 に答える