2012-05-11 54 views
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) 

但是沒有出現消息,會話中什麼也沒有。我已經測試了這個模式,它沒問題。我做錯了什麼?

+2

除了不使用消息框架? –

回答

2

您需要django.core.context_processors.request添加到您的TEMPLATE_CONTEXT_PROCESSORS設置,以便您可以訪問模板請求,默認設置不包括這一點,所以你的郵件將不會顯示。

爲什麼不使用Django的默認消息框架?

+0

我已經添加了它,但我的靜態文件,這樣的CSS和JS不會被加載了:( – dextervip

+0

我錯過了一些靜態的上下文處理器,我嘗試了默認消息框架,它工作的很好。 – dextervip