2012-11-19 56 views
2

我的網頁向服務器發出一個AJAX調用,以動態選擇一個圖像進行顯示。我遇到的問題是STATIC_URL變量的計算結果爲空字符串,因此圖像無法加載。Django的STATIC_URL和Ajax請求

這是我使用渲染圖像路徑的代碼。

text = "<img src=\"{{ STATIC_URL }}/images/%s\"> %s" % (ball_file, val) 
t = Template(text) 
tt = t.render(Context()) 

任何幫助將不勝感激。

回答

2

爲什麼即使使用Template?這不工作嗎?

from django.conf import settings 

text = u'<img src="%simages/%s"> %s' % (settings.STATIC_URL, ball_file, val) 

注意STATIC_URL應包含斜線,因此%simages在該示例中,而不是%s/images

+0

當我意識到我的解決方案超過工程設計的時候,面對掌心時刻... – CadentOrange

2

您尚未爲該模板提供任何上下文,因此自然包括STATIC_URL在內的所有變量都將解析爲空。如果使用RequestContext,那麼上下文處理器將首先運行,因此額外的項目(如靜態URL(以及用戶,以及其他各種東西))將可用。

但是我同意jpic,你最好直接用Python做這個。