2012-12-10 89 views
2

我有以下車把模板:{{MEDIA_URL}}使用Django和Ember.js

{% handlebars "header" %} 
<div class="header row-fluid"> 
    <div class="logo"> <a href="index.html"><span>Welcome!</span><span class="icon"></span></a> </div> 
    <div class="top_right"> 
    <ul class="nav nav_menu"> 
     <li class="dropdown"> <a class="dropdown-toggle administrator" id="dLabel" role="button" data-toggle="dropdown" data-target="#" href="/page.html"> 
     <div class="title"><span class="name">George</span><span class="subtitle">Awesome Developer</span></div> 
     <span class="icon"><img src="{{MEDIA_URL}}images/dashboard/thumbnail_george.jpg"></span></a> 
     </li> 
    </ul> 
    </div> 
    <!-- End top-right --> 
</div> 
{% endhandlebars %} 

的問題是,{{MEDIA_URL}}當然是斷章取義,在這裏,所以我不能使我的圖片。我嘗試使用bindAttr的src,但問題仍然存在。我該如何解決這個問題。

在附註上,這個模板是靜態的,因爲我使用handlebars的唯一原因是使用Ember的{{action}}助手在單擊其中一個按鈕時轉換到新狀態。這是做到這一點的正確方法嗎?

更新: 我的臨時解決方案是,我在我的控制器中有一個mediaUrl屬性,我硬編碼了媒體網址。但是,這並不是荒謬的,因爲媒體網址可以隨時在服務器端進行更改。

回答

1

在將服務器發送給客戶端之前,您最好先讓服務器處理模板並插入正確的MEDIA_URL。我能想到的唯一方法是在渲染之前對服務器執行單獨的查詢以獲取該URL。