2012-03-24 83 views
0

免責聲明:我是Django的初學者,但擁有Drupal編程經驗。初學者:Django dev服務器外部靜態文件

我花了一段時間,谷歌搜索,但無法找到這個問題的答案:我怎樣才能讓Django的開發服務器顯示圖片(TIF的縮略圖在我的情況)是來自的STATIC_ROOT和MEDIA_ROOT蟒蛇manage.py runserver 80?例如:

# something.html -- a template file -- WORKS AS EXPECTED BUT SEE NEXT EXAMPLE 
<img src="http://www.google.com/someDir/someFile.TIF" height="y" width="x"> 

# BETTER EXAMPLE -- hdrive COMES FROM USB INSERTED AT RUNTIME 
<img src="/hdrive/someFile.TIF" height="y" width="x"> 

謝謝!

+0

您沒有託管這些圖片,爲什麼您的網絡服務器會爲他們提供服務?用戶瀏覽器將在頁面加載時檢索這些縮略圖。 – 2012-03-24 17:50:16

+0

對不起,我的例子並不是最好的,因爲是的,這很好。這是更好的:當/cdrive/somePath/manage.py(我只知道在運行時/ cdrive) – 2012-03-24 17:56:40

回答

3

這沒有任何意義。

記住<img src=...是發送到客戶端的瀏覽器呈現模板的一部分。爲什麼我們希望客戶端能夠從服務器中獲取他們想要的任何目錄中的任何文件? (即<a href="/var/db/credit_card_details.sql">download $$$</a>

STATIC_ROOT和MEDIA_ROOT是服務器上的兩個指定文件夾,它們包含我們想從外部訪問的任何文件,即客戶端瀏覽器。

在另一方面,之前或渲染模板時(即之前的HTML文件從服務器發送到客戶端),我們可以使用simple python file reading techniques這兩個目錄外打開的文件。

例如,我們可以打開保存在外面MEDIA_ROOT或STATIC_ROOT目錄中的形象,做一些它和結果複製到MEDIA_ROOT這意味着客戶端可以再讀取該文件在/media/copied_file.png

看來你在請求週期的各個階段之間變得混亂。