【问题标题】:django-messages messages_inbox_count template tag not working as expecteddjango-messages messages_inbox_count 模板标签未按预期工作
【发布时间】:2012-06-23 23:54:16
【问题描述】:

我是 django 新手,正在尝试使用 django-messages 为我的网站用户添加收件箱/撰写/发件箱/垃圾箱功能。从文档中我完成了以下步骤:

  1. pip install django-messages
  2. 'messages', 添加到INSTALLED_APPS
  3. 将 django-messages 'messages.context_processors.inbox', 上下文处理器添加到 TEMPLATE_CONTEXT_PROCESSORS

最后我尝试在我的一个模板中使用messages_inbox_count 标签,如下所示:

<a href="/messages/inbox/">Inbox ({{ messages_inbox_count }})</a>

但是,正如预期的那样,这不会在页面上显示任何收件箱计数。 另外,使用 django-debug-toolbar 我可以看到它们确实是一个变量名messages_inbox_count。以下是 django-debug-toolbar 的 Templates Sidebar 的片段:

Context processors
django.contrib.auth.context_processors.auth
▶ Toggle Context
social_auth.context_processors.social_auth_by_name_backends
▶ Toggle Context
messages.context_processors.inbox
▼ Toggle Context
{'messages_inbox_count': 1}
django.core.context_processors.csrf
▶ Toggle Context
social_auth.context_processors.social_auth_backends
▶ Toggle Context

我在这里真的做错了什么?修复似乎是一件愚蠢的事情,但我没有运气:(

【问题讨论】:

    标签: django django-templates


    【解决方案1】:

    你是在使用 RequestContext-Instance 来渲染没有出现值的模板,还是只是一个上下文?

    (例如:如果您使用render_to_response,则需要确保包含context_instance=RequestContext(request) 参数。)

    【讨论】:

    • 就是这样...原来我对 django 缺乏了解是在这里做的...在其他地方我最终使用context_instance,作为我的 django-messages 测试模板不这样做。顺便说一句,我真的很喜欢 django :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-19
    • 2014-07-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多