0

我想知道如何使用会话变量来定义消息并将其显示在下一页上。

我创建了一个在所有模板中扩展的基本模板。我插入了模态消息代码以检查基本模板中是否有任何消息

我的基本模板(base.html)

...
{% if request.session.message %}
        <div id="modalAlert">
            <div class="modal-backdrop"></div>
            <div class="modal" id="myModal">
                <div class="modal-header">
                    <button class="close" data-dismiss="modal">
                        ×
                    </button>
                    <h3>{{ request.session.title }}</h3>
                </div>
                <div class="modal-body">
                    <p>
                        {{ request.session.message }}
                    </p>
                </div>
                <div class="modal-footer">
                    <a href="#" id="botao-fechar" class="btn">Ok</a>

                </div>
            </div>
        </div>
        <script type="text/javascript">
            $('#modalAlert').show();
            $('#myModal button.close,#myModal #botao-fechar').click(function() {
                $('#modalAlert').hide();
            })

        </script>

        {% endif %}
  ...

在我看来,我已经在会话中插入了消息

 def home(request):
    request.session.message = 'Test message'
    context_instance = RequestContext(request)
    return render_to_response("professor/home.html", context_instance)

但是没有出现该消息,会话中没有任何内容。我已经测试了模态,没关系。我做错了什么?

4

1 回答 1

2

您需要将django.core.context_processors.request添加到您的TEMPLATE_CONTEXT_PROCESSORS设置中,以便您可以从模板访问请求,默认设置不包括此,因此您的消息不会显示。

为什么不使用 Django 默认消息框架?

于 2012-05-11T02:48:09.510 回答