2012-12-14 46 views
1

我已經搜索周圍,並道歉,如果這是一個基本的問題。我試圖讓我的Django應用程序提供靜態文件。如果STATIC_URL被設置爲絕對路徑(即http://localhost/static),則文件可以工作,但是如果STATIC_URL相對於/ static /,則不會引入任何靜態文件。Django的絕對url的作品,但相對url不適用於靜態文件

我希望它能夠在將應用程序移動到生產服務器並使用反向代理服務靜態文件時使用/ static /。

+0

'/靜態/'不是相對的。這是絕對的。文件系統中的一個目錄...... cd/static /'。聽Topro(sorta)一個典型的設置來設置相對於你的項目根目錄的絕對目錄。 –

+0

對不起,我打算在這篇文章中說STATIC_URL。 STATIC_ROOT設置正確,但頁面不會找到這些文件,除非STATIC_URL是帶有域名的完整網址。 – Omni

+0

請求是否正確? (呈現的HTML看起來不錯?) –

回答

1

django要求STATIC_DIR爲絕對路徑。

設置變量如PROJECT_DIRos.path.dirname(os.path.realpath(__file__))

然後設置STATIC_DIRos.path.join(PROJECT_DIR, 'static')

+0

你的意思是'STATIC_ROOT'。 –

+0

@YujiTomita yep .... – Topro