首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django中的消息中间件没有在模板中显示

Django中的消息中间件没有在模板中显示
EN

Stack Overflow用户
提问于 2012-04-18 08:24:46
回答 1查看 847关注 0票数 1

我试图在Django中使用消息中间件,但是视图根本没有呈现它。我所拥有的:

views.py

代码语言:javascript
复制
messages.success(request, 'Test message.')
return render_to_response('base.html') 

template.html

代码语言:javascript
复制
<ul class="messages">
    {% for message in messages %}
    <li class="{{ message.tags }}">{{ message }}</li>
    {% endfor %}
</ul>

当我这么做的时候:

代码语言:javascript
复制
for message in messages.get_messages(request):
    print message

自上次使用此函数以来,每次调用视图时,它都会打印一条消息,因此肯定会将消息保存在某个地方。它只是没有发送到模板。

更多信息:

  • Django版本= (1,2,3,‘’,0)
    • I向TEMPLATE_CONTEXT_PROCESSORS添加了TEMPLATE_CONTEXT_PROCESSORS。注意:我没有TEMPLATE_CONTEXT_PROCESSORS,尽管它应该在Django 1.2之后就在那里,所以我只是添加了它。我猜想它可能不能正常工作,这可能就是问题所在,但我不知道如何检查它是否配置正确。
    • 我跟随https://docs.djangoproject.com/en/dev/ref/contrib/messages/来设置它。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-18 08:34:26

您需要使用RequestContext来呈现模板,而不是仅仅使用Context ( render_to_response默认使用)来使模板上下文处理器在模板中可用。查看optional arguments section of the render_to_response docs,然后更改:

代码语言:javascript
复制
return render_to_response('base.html', context_instance=RequestContext(request))
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10205591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档