2014-10-19 78 views
0

假設我在服務器計算機(Windows上的Django)上有一個圖像C:/myimage.jpg。我想在客戶機上顯示這個圖像。圖像路徑作爲上下文變量image_path傳遞給模板。路徑是絕對的而不是相對的是重要的。這是我對模板的嘗試:在服務器上顯示絕對路徑的圖像

<img src="{{ image_path }}" /> 

但是,客戶端根本沒有看到圖像。我的第一個猜測是,當它讀取image_path時,它實際上讀取C:/myimage.jpg,因此看起來在客戶機上,而不是在服務器上。我如何才能讓它在服務器上查找圖像呢?

回答

0

在應用中對靜態內容使用絕對路徑不是一個正確的想法。你應該使用下面的方法使用圖片,

settings.py

STATIC_URL = '/static/' 

添加這個,然後訪問使用

{% load staticfiles %} 
<img src="{% static "my_app/myexample.jpg" %}" alt="My image"/> 

請閱讀guidelines更多細節

0

即使圖像如果你可以告訴瀏覽器查看服務器上的特定文件位置,那麼這怎麼可能是一個好主意?如果用戶輸入了包含數據庫憑證的settings.py文件的路徑,該怎麼辦?

顯然,您只能通過URL查找文件,而這些URL實際上必須由服務器映射到實際文件。因此,您需要配置您的Web服務器,以便將URL映射到您的文件所在的位置,然後您可以在模板中使用該URL。

相關問題