因此,我正在開發一個Django項目,並試圖弄清楚如何讓Javascript能夠從我的靜態目錄中呈現圖像。我修改了我的settings.py以從myproject/static加載靜態文件(圖像,js等),以及從myproject/templates加載我的模板。現在,在每個模板,我有以下線的頂部:Django中的Javascript引用靜態圖像
{% load staticfiles %}
,讓我加載圖像這樣的模板:
<img src="{% static "images/someImage.jpg" %}" width="65" height="36" alt="SomeImage"/>
現在,這個工作得很好 - 圖像加載並按頁面上的預期呈現。但是我想做到這一點(當然,我的隊友,但無論如何):
<p><script src="{% static "js/getHeader.js" %}" type="text/javascript"></script></p>
這條線在同一個文件是與上述兩行。該getHeader.js文件:
var time = new Date();
var month = time.getMonth();
var day = time.getDate();
var year = time.getFullYear();
if (month == 1 & day == 23 & year == 2013) {
document.write('<img src="{% static "images/anotherImage.png" %}" width="680" height="210" />');
} else {
document.write('<img src="{% static "images/yetAnotherImage.png" %}" width="680" height="210"/>');
}
只是爲了澄清,這個想法是打印一些預定義的一天不同的頁眉。我試圖保留任何圖像/ html從顯示模板的Python代碼中分離出來,所以我不想只傳入圖像名稱作爲參數。代碼本身運行良好,但是當頁面加載時,alt名稱會出現,但圖像本身不會;只是其中一個通用的空「圖像未找到」框。
這可能是值得一提的,如果我把這個Javascript內聯到實際的HTML頁面,圖像呈現很好。此外,這是在一個開發環境中,而不是生產 - 我將在後面處理這個問題。
什麼給?我認爲,由於該行應該被寫入包含上面的「load staticfiles」行的文檔中,因此該圖像將僅與HTML的其餘部分一起呈現。任何建議如何解決這個問題或以不同的方式完成它將不勝感激!
謝謝!這就是我所需要的 – drodman