2012-05-10 33 views
1

媒體文件在我django的應用程序,我有一個playmedia.html頁面中html5 video element用於播放媒體文件(video or mp3 audio)。作爲第一步,我把媒體文件夾/home/me/django/myapp/media/audio和硬編碼<video>使用Django打從硬盤

<video id="vid" width="640" height="360" controls="controls"> 
      <source src="{{MEDIA_URL}}audio/candle.mp3" type="audio/mp3" />  
</video> 

設置文件的src屬性有

MEDIA_ROOT = '/home/me/django/myapp/media' 
MEDIA_URL = '/site_media/' 

通過這種設置,當加載頁面時,在頁面中html5 video player顯示, MP3文件被加載(在Chrome中,顯示藍條),我能夠使用player玩的AudioFile ..我想從local filesystem選擇一個mp3文件,並進行html5 video發揮it.How我應該去這個?

假設我有一個請將test.mp3目錄/home/me/music/ 如果我設置src =「/家/我/音樂/請將test.mp3」中,玩家的不用的文件loaded.No藍條這個時候。 此外,服務器輸出

[10/May/2012 08:38:48] "GET /home/me/music/test.mp3 HTTP/1.1" 404 2191 

我想這可能是因爲Django不知道路徑/home/me/music/因爲它不是在上下文。

有人可以幫我弄清楚如何做到這一點嗎?

+0

如果你檢查玩家,例如螢火蟲,最新的mp3文件的網址?我認爲它是一個網址問題。 – Dave

+0

在Firebug是用'HTTP://127.0.0.1:8000 /家/我/音樂/ test.mp3' – damon

+0

..Previously,當文件在'{{MEDIA_URL}}/audio'路徑,螢火蟲將url顯示爲「http://127.0.0.1:8000/site_media/audio/test.mp3」 – damon

回答

0

這不是Django的所有,這是關於該服務的媒體文件的網絡服務器(有時也沒關係,可以Django的開發服務器)。所以你需要「告訴」web服務器在哪裏找到這些文件如何?取決於服務器。對於django it's in urls,對於大型服務器 - 在配置文件中。

另外,有沒有簡單的方法說「服務器我的整個本地文件系統中,請」,因爲安全的。你的文件中有很多隱私信息,外面的用戶根本無法訪問它。