我想知道如何使用会话变量来定义消息并在下一页显示它。
我创建了一个我在所有模板中扩展的基本模板。我插入了模态消息代码以检查基本模板中是否有任何消息
我的基本模板(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)
但是没有出现消息,会话中没有任何内容。我测试了模态,没关系。我做错了什么?
答案 0 :(得分:2)
您需要将 django.core.context_processors.request 添加到TEMPLATE_CONTEXT_PROCESSORS
设置中,以便您可以从模板访问请求,默认设置不包含此项,因此您的消息不会节目。
为什么不使用Django默认消息框架?