Django消息传递&模板继承 - 如何使用它?

时间:2011-08-19 12:27:34

标签: django django-templates

首先:Hello StackOverflow人员:)。这是我在这里的第一篇文章。好的,关于这件事:Django消息传递框架在我的小应用程序中不起作用。我有以下布局:

  • base.html - > index.html(继承自base.html)
  • 一个importcsv视图(它什么也没做,但想回到index.html并在那里显示一条消息,比如“导入成功”)
  • 基本上是香草django 1.3,os x
  • 模板继承非常好用

然而,我试过,我无法让消息传递起作用。我基本上复制并粘贴了Django文档中的示例,但无济于事。

代码。

base.html(缩写为必需品):

<html>
<head>
    {% block extra-css %}
    {% endblock %}
</head>
<body>
{% if messages %}
<ul class="messages">
    {% for message in messages %}
    <li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
    {% endfor %}
</ul>
{% endif %}
</body>
</html>

的index.html:

{% extends "base.html" %}

views.py :( rtr只是“将render_to_response导入为rtr”)

def _importlegs(request):
    f = request.FILES['file']
    print "_importlegs"
    messages.info(request, "Test")
    return rtr('index.html', RequestContext(request))

结果是,永远不会显示“消息”块。不管我做什么。

1 个答案:

答案 0 :(得分:1)

确保消息中间件位于MIDDLEWARE_CLASSESdjango.contrib.messages位于INSTALLED_APPS。如果不是,请在之后执行syncdb,以便在数据库中创建消息表。

另外,请尝试将{}作为rtr的第二个参数,以便RequestContext(request)成为第三个参数。