2012-12-22 93 views
0

我一直在遇到很多問題,試圖使用靜態文件並讓它們與開發服務器一起工作。服務靜態文件[初學]

我一直在使用的鏈接:https://docs.djangoproject.com/en/1.4/howto/static-files/#staticfiles-development

當我運行開發服務器,我發現我的CSS文件都沒有得到拉入,但它們與正確的目錄意味着Django是沒有找到我的指定靜態文件文件夾。我的文件夾在項目目錄中定義爲'static',幷包含一個名爲'css'和'bootstrap.css'的文件夾。

當我看着頁面的源代碼,我看到:

<link href="css/bootstrap.css" rel="stylesheet"> 

,但我不能查看CSS暗示與找到正確的目錄中的一個問題。

我在設置中添加什麼

STATICFILES_DIRS = (
    'static', 
    # Put strings here, like "/home/html/static" or "C:/www/django/static". 
    # Always use forward slashes, even on Windows. 
    # Don't forget to use absolute paths, not relative paths. 
) 

我的目錄結構:mysite的/靜態/ CSS/bootstrap.css

感謝您的幫助:d

編輯:另外,如果我能在settings.py中將不存在的目錄置於STATICFILES_DIR中,而不會在調試模式下觸發錯誤;這是否意味着我沒有配置Django甚至查找靜態目錄?

編輯:我也添加了一個RequestContext到我的views.py,但它沒有工作。

+2

它說在那裏的評論 #不要忘記使用絕對路徑,而不是相對路徑。 所以靜態不是一個有效的目錄。 – Hiro2k

回答

1

1:確保settings.DEBUG是真

2:給絕對路徑包含靜止媒體目錄。在這種情況下,/PATH/TO/mysite/static/

3:確保調用靜態文件實際上指向settings.STATIC_URL

你的榜樣點相對URL css/bootstrap.css。除非你幸運,否則它應該指向{{ STATIC_URL }}css/bootstrap.css,並且你的頁面被路由到完全匹配你的STATIC_URL的URL。

滿足條件1和條件2時,向靜態媒體提供服務AT settings.STATIC_URLsettings.STATICFILES_DIRS和其他靜態文件查找程序。